<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