<perl>
$nochg = $nochg eq "" ? 1 : $nochg; # wenn Template aktiv sein soll, Wert auf 0 setzen!
$hinw = "<h3>Deaktiviert! - es wird nichts geändert!</h3>Nach Abschicken wird nur angezeigt, was geändert würde...." if $nochg == 1;
$hinw = "<h3>ACHTUNG ÄNDERUNGSMODUS AKTIV</h3>Nach Abschicken wird mit angezeigt, was geändert wurde (falls alles richtig eingegeben war...)" if $nochg != 1;
$linktab=<<EOF;
<table width=800 cellspacing=0 cellpadding=0>
<tr><td width=50%>
Test Datenbankfeld global <a href=$_link&act=do_chg&nochg=1>ändern (nur Anzeige)</a><br>
Datenbankfeld global <a href=$_link&act=do_chg&nochg=0>ändern (aktiv)</a><br>
</td>
<td width=50%>Datenbankstruktur <a href=$_link&act=dbstrukt>anzeigen</a></td>
</tr>
</table>
EOF
if ($dbname ne "" && $modfeld ne "" && $modwert ne ""){
get "Id==*", "$dbname";
while (get_next($dbname)){
$counter++;
$nr_id{$counter} = $_id;
}
foreach(sort(keys %nr_id)){
$cnt++;
$msg.= "<tr><td colspan=2 bgcolor=lightyellow>$_ - $nr_id{$_}</td></tr>";
if ($nochg != 1){
mod "Id==!$nr_id{$_}", ["$modfeld","$modwert"],"$dbname";
} else {
$z = "wären eben";
}
$msg.= "<tr><td colspan=2 align=left>Geändert $z: DS mit ID $nr_id{$_} - Feld: $modfeld - Wert: $modwert</td></tr>";
}
$msg.= "<tr><td colspan=2 align=center><b>$cnt Datensätze $z geändert</b><br></td></tr>";
$anz_datart = $msg;
if (%_get && $act eq "chg"){
$hinw_ausf = "<span style='font-familiy:Verdana,sans-serif; size:14px;'><b>Bitte alle Felder ausfüllen!</b></span>";
$errmsg.= "Bitte Datenbankname angeben...<br>" if $dbname eq "";
$errmsg.= "Bitte Feldname angeben...<br>" if $modfeld eq "";
$errmsg.= "Bitte Wert zum Ändern angeben...<br>" if $modwert eq "";
}
}
if ($act eq "do_chg" || $act eq "chg"){
$tab_chg=<<EOF;
<table style="border:1px solid darkblue;" width=350>
<form name="changedb" action="$_link" method=post enctype="multipart/form-data" onReset="return confirm('Eingaben wirklich verwerfen?')" onSubmit="return confirm('Alle Datensätze ändern?')">
<input type=hidden name="act=" value="chg">
<input type=hidden name="nochg=" value="$nochg">
<tr><td colspan=2 align=center>
<span style="font-familiy:Verdana,sans-serif; size:14px;"><b>$hinw_ausf</b></span>
</tr>
<tr><td colspan=2><span style="font-family:Verdana,sans-serif; color:green; font-size:10px;">$errmsg</span></td><tr>
<tr><td colspan=2><span style="font-family:Verdana,sans-serif; color:red; font-size:14px;">$hinw</span></td><tr>
<tr><td width=40%><span style="font-family:Verdana,sans-serif; color:darkblue;font-size:10px;"">Datenbank mit zu ändernden Datensätzen:</span></td>
<td><input type="Text" name="dbname=" value="" size="30" maxlength=""></td></tr>
<tr><td><span style="font-family:Verdana,sans-serif;color:darkblue;font-size:10px;">Feldname für zu ändernde Daten: </span></td>
<td><input type="Text" name="modfeld=" value="" size="" maxlength=""></tr>
<tr><td><span style="font-family:Verdana,sans-serif; color:darkblue;font-size:10px;"">Wert der eingetragen werden soll: </span></td>
<td><input type="Text" name="modwert=" value="" size="" maxlength=""></td></tr>
<tr><td colspan=2 align=center>
<input type="Submit" name="tues" value="Ändern"> <input type="reset">
</td></tr>
</table>
EOF
}
if ($db_chg ne ""){
my $db = $db_chg.".fields";
get "Id==*", "$db";
while (get_next $db){
$cnt++;
if ($cnt % 2 == 0){
$bc = "antiquewhite";
}else{
$bc = "cornsilk";
}
$tr_strukt.=<<EOF;
<tr class=klein bgcolor=$bc>
<td>$Id</td>
<td>$Field</td>
<td>$Type</td>
<td>$Params</td>
<td>$Index</td>
</tr>
EOF
}
}
if ($act eq "dbstrukt"){
$tab_dbstrukt=<<EOF;
<table cellspacing=0 cellpadding=0 width=800>
<tr><td colspan=5 class=norm>
<form name=dbstruktur action="$_link&act=$act" method=post enctype="multipart/form-data"
<input type=text name="db_chg=" value="$db_chg" size=20></input>
<input type=submit value=Senden></input>
</form></td></tr>
<tr><td colspan=5 align=center><h4>Datenbankstruktur von $db_chg.fields</h4></td></tr>
<tr><td colspan=5 align=center>
Insgesamt <b>$cnt Felder</b> in der <b>DB $db_chg.fields</b> vorhanden</td></tr>
<tr class=norm bgcolor=$fh>
<td width=5%> Id </td>
<td width=15%> Field </td>
<td width=40%> Type </td>
<td width=30%> Params </td>
<td width=10%> Index </td>
</tr>
$tr_strukt
<table>
EOF
get "Id=*", $db_chg.".fields", "datumfeld";
$anz_datart=<<EOF;
<tr>
<td width=* align=center bgcolor=lightpink heigth=20 valign=middle>
<h4 style='font-family:Verdana,sans-serif; size:14px; weight:bold; color:darkmagenta;'>Datumsfelder in Datenbank:
</td>
</tr>
EOF
while(get_next("datumfeld")){
if (substr($Type,0,5) eq "datum"){
$cnt_art++; if ($cnt_art%2 == 0) {$bgc="lightgray";} else {$bgc = "floralwhite";
}
$datum_art = substr($Params, rindex ($Params, '#')+1);
if ($datum_art eq "Änderung"){
$bgc = "gold"; $dftyp = " - Typ Änderung";
}
if ($datum_art eq "Erstellung"){
$bgc = "khaki"; $dftyp = " - Typ Erstellung";
}
$anz_datart.=<<EOF;
<tr>
<td width=33% bgcolor=$bgc>
\$Field - Datumsfeld-Name: <b>$Field</b><span style="color:red; font-weight:bold;">$dftyp</span>
</td>
</tr>
<tr>
<td width=* bgcolor=$bgc>
\$datum_art($datum_art) - \$Params($Params)
</td>
</tr>
EOF
}
$datarttab=<<EOF;
<table width=800 cellspacing=0 cellpadding=0 style="border:1px solid red;">
$anz_datart
</table>
EOF
}
}
out<<EOF;
<table width=820 cellspacing=0 cellpadding=0 style="border:1px solid darkblue;">
<tr><td colspan=2 bgcolor=beige align=center>$linktab</td></tr>
<tr><td colspan=2><hr width=75%</td></tr>
$msg
<tr><td colspan=2 align=center>
$tab_dbstrukt
$tab_chg
$datarttab
</td></tr>
<tr><td colspan=2><hr width=75%</td></tr>
</table>
EOF
</perl>
----- schnapp