Vergleich-Abfrage mit einer Datenbanktabelle

Turtle78

Mitglied
Tach zusammen,

also ich will Daten, die über ein Formular eingegeben wurden mit denen in einer MySQL Datenbanktabelle vergleichen und entsprechende Aktionen erledigen. Das klappt auch soweit, nur daß ich für jedes Feld den folgenden Code tippen müßte. Meine Frage ist jetzt, ob man das irgendwie vereinfachen kann.

PHP:
// Datensatz aus der Datenbank holen
    $result = mysql_db_query(MYSQL_DATABASE,"SELECT * FROM tsc_ev_mitglieder WHERE ev_mitglieder_id = '$_GET[id]'");
      while($row = mysql_fetch_row($result)){
    
    if ($_POST['vorname'] != $row[4])
    {
    $mail_vorname = "!! $_POST[vorname] !!";
    }
    else
    {
    $mail_vorname = $_POST['vorname'];
    }
    
    if ($_POST['nachname'] != $row[5])
    {
    $mail_nachname = "!! $_POST[nachname] !!";
    }
    else
    {
    $mail_nachname = $_POST['nachname'];
    }
    
    }

Das sind jetzt nur zwei als Beispielfelder, aber es sind insgesamt ein paar mehr. Kann man die irgendwie zusammenfassen?

Gruß Helge
 
Vorausgesetzt die DB-Felder heissen genauso wie die $_POST-Variablen sollte das funktionieren:
PHP:
$result = mysql_db_query(MYSQL_DATABASE,"SELECT * FROM tsc_ev_mitglieder WHERE ev_mitglieder_id = '$_GET[id]'");
while($row = mysql_fetch_array($result)){
  foreach($row AS $k=>$v){
    ${'mail_'.$k} = ($_POST[$k] != $v) ? "!! $_POST[$k] !!" : $_POST[$k];
  }
}
Erläuterungen:
http://de3.php.net/manual/de/function.mysql-fetch-array.php
http://de3.php.net/manual/de/control-structures.foreach.php
http://de3.php.net/manual/de/language.variables.variable.php
http://de3.php.net/manual/de/control-structures.alternative-syntax.php

Ich würd allerdings statt $mail_vorname etc. die Arrayvariante $mail['vorname '] bevorzugen.
 
Zurück