update + mehrere zeilen

FireForce

Grünschnabel
Hi,

ich habe mir eine Benutzerverwaltung mit mysql Datenbank geschrieben.

Nun, möchte ich diese Benutzer über ein admin interface verändern bzw. löschen. Das löschen funktioniert jetzt auch schon, nur wenn ich etwas verändern möchte tut sich nichts.
Daher schliesse ich auf einen Fehler in der Updateschleife:
PHP:
if ($edit)
{
$sql = "UPDATE users SET name='$name', email='$email', level1='$level1', level2='$level2', level3='$level3' WHERE id=$edit";
mysql_query ($sql, $connectionid);
}

Die Benutzer gebe ich wie folgend aus.
Bei Mehreren Benutzern habe ich also auch mehrere Zeilen.
PHP:
$sql = "SELECT * FROM users";
$result = mysql_query ($sql, $connectionid);

while($data = mysql_fetch_array($result))
{
<form method="post" action="<? $PHP_SELF ?>">
<table>
<tr>
  <td><? echo $data[id]; ?></td>
  <td><input name="name" type="text" value="<? echo $data[name]; ?>" size="12"></td>
  <td><input name="email" type="text" value="<? echo $data[email]; ?>" size="12"></td>
  <td><input name="level1" type="checkbox" value="1" <? if ($data[level1] == "1") echo "checked"; ?>></td>
  <td><input name="level2" type="checkbox" value="1" <? if ($data[level2] == "1") echo "checked"; ?>></td>
  <td><input name="level3" type="checkbox" value="1" <? if ($data[level3] == "1") echo "checked"; ?>></td>
  <td><a href="<? echo ''.$PHP_SELF.'?page=intern&show=usersedit&edit='.$data[id].'' ?>">edit</a></td>
  <td><a href="<? echo ''.$PHP_SELF.'?page=intern&show=usersedit&delete='.$data[id].'' ?>">delete</a></td>
</tr>
</table>
</form>
}

Bitte schaut euch dieses Script einmal an.
 
PHP:
/* ... */
while($data = mysql_fetch_array($result))
{
?>
<form method="post" action="<? echo $PHP_SELF; ?>">
/* ... */
Sollte wohl so aussehen... mehr ist mir beim ersten Überfliegen nicht aufgefallen.

@socKe|bla: Seit wann das?
 
$erg = mysql_query ($sql, $connectionid) or die(mysql_error());

mach mal die version mal sehen was er meckert..

ps naklar kann man mehrere felder updaten :-) @socke|bla
 
hmm, hups :)
hatte ich irgendwie so inner erinnerung, ka wieso

übrigens solltest du $data["key"] und nicht $data[key] benutzen...
 
Danke schonmal, fuer die Hilfe.

Ich habe die Tipps mal probiert.

Nun Tut sich schonmal etwas aber was auserplanmässiges.:rolleyes:

Wenn ich jetzt auf edit drücke leert sich die kommplette geaenderte Zeile. Vorhanden ist die Zeile in Der Datenbank aber denoch, nur eben leer. Nur die id bleibt darin erhalten.

Fehlermeldung gibt es keine.
 
mach mal das hier und sag uns, was der ausgibt
PHP:
if ($edit)
{
$sql = "UPDATE users SET name='$name', email='$email', level1='$level1', level2='$level2', level3='$level3' WHERE id=$edit";
echo $sql."<br>\n";;
mysql_query ($sql, $connectionid) or die(mysql_error());
}
 
Ich habe das Problem gelöst.

Beim abschicken des Formulars wurde eine andere Seite geladen.
Dadurch ging das Update ins leere.

Trotzdem Danke :)
 
Zurück