Tabellen update nach Vergleich einer Variablen mit den entsprechenden Zellen

tefnut

Mitglied
Hallöchen,

Problem:
nach der Auswahl des Namens $ug7, der aus allen Tabellenzelleneinträgen (falls dort vorhanden) entfernt werden soll, wird "chaotisch" gelöscht ... (also auch andere Zelleninhalte als die gewünschten - zumindest erkenne ich keine Regel)....

ich hätte gerne, dass alle Einträge in der TAB, die gleich $ug7 sind, auf leer gesetzt werden

ich hoffe auf Eure HIlfe - was mache ich falsch?

anbei der Code mit switch - ich habe es auch mit if/elseif versucht, leider gleiches falsches Ergebnis ...
scheint am update zu liegen, aber ich komme nicht drauf :(

if ($ug7)
{
$sqlanz = mysql_query("select user1, user2, user3, user4, user5 from `TAB`");
$res1 = mysql_db_query($dbname, $sqlanz);
$num = mysql_num_rows($res1);

for ($i=0; $i<$num; $i++)
{

$user1 = mysql_result($res1, $i, "user1");
$user2 = mysql_result($res1, $i, "user2");
$user3 = mysql_result($res1, $i, "user3");
$user4 = mysql_result($res1, $i, "user4");
$user5 = mysql_result($res1, $i, "user5");

switch ($ug7)
{
case "$user1": //wenn $user1==$ug7, so setze $user1 auf leer
$sqlb1 = "UPDATE `TAB` SET `user1`=''" ;
$resultb1 = mysql_query($sqlb1) OR die(mysql_error());
break;
case "$user2":
$sqlb2 = "UPDATE `TAB` SET `user2`=''" ;
$resultb2 = mysql_query($sqlb2) OR die(mysql_error());
break;
case "$user3":
$sqlb3 = "UPDATE `TAB` SET `user3`=''" ;
$resultb3 = mysql_query($sqlb3) OR die(mysql_error());
break;
case "$user4":
$sqlb4 = "UPDATE `TAB` SET `user4`=''" ;
$resultb4 = mysql_query($sqlb4) OR die(mysql_error());
break;
case "$user5":
$sqlb5 = "UPDATE `TAB` SET `user5`=''" ;
$resultb5 = mysql_query($sqlb5) OR die(mysql_error());
break;
}
} // for Ende
} // if Ende

verzweifelte Grüße
Karin
 
Ich glaube du gehst an die Sache etwas kompliziert ran. Sowas wie "Loesche alles wo das gleich das" ist eigentlich in 5 Zeilen erledigt.

Was sind den user1, user2 usw? Weil so wie es aussieht, waere es sinnvoller, fuer jeden user1, user2 eine neue Zeile in der Tabelle TAB zu machen, und dann mit etwas wie
PHP:
$sql = "UPDATE 
			`TAB`
		SET
			user = ''
		WHERE
			user = '$ug7'";
zu machen.

Ueberdenke lieber nochmal, wie deine Datenbanktabelle aussehen soll, das kann dir sehr viel Arbeit sparen.
 
Zatic hat gesagt.:
Was sind den user1, user2 usw?

das sind Spalten in der TAB

Weil so wie es aussieht, waere es sinnvoller, fuer jeden user1, user2 eine neue Zeile in der Tabelle TAB zu machen,

ups, dann hätte ich etliche Änderungen an anderen Skripten vorzunehmen :(

Ueberdenke lieber nochmal, wie deine Datenbanktabelle aussehen soll, das kann dir sehr viel Arbeit sparen.

uff ,wird gemacht ....

vielen Dank erstmal!
 
Zurück