Datenbank Spalte Updaten

JamMc

Grünschnabel
Liebe Community

ich habe da so ein Problem was ich schon seit 2 tagen versuche zubeheben , habe auch bei google nach geschaut wo ich nichts gefunden habe was mir hilft

Zum Problem:

Ich habe ein webinterface geschrieben wo ich alles steuern kann wollte gern wenn ein user ein Bug report geschrieben hatt und diesen fehler behoben habe den Status auf Bearbeitet gesetzt haben

mein problem ist wenn ich in der DB 3 einträge drinne sind und auf Bearbeitet klicke nimmt er immer die Letzte ID obwohl ich den 1 ID ändere

zumbeispiel habe
ID 15
ID 16
ID 17

Wenn ich jetzt die ID 15 klicke ändert er die ID 17

Ein teil des Codes

if(isset($_POST["status"])) {
$update = "UPDATE bug SET status=1 WHERE id=".$_POST['id']."";
$up = mysql_query($update);
echo $update;
}

if(isset($_POST["status1"])) {
$update = "UPDATE bug SET status=0 WHERE id=".$_POST['id']."";
$up = mysql_query($update);
echo $update;
}

$abfrage = "SELECT * FROM bug";
$ergebnis = mysql_query($abfrage);

while($row = mysql_fetch_object($ergebnis))
{

if ($row->status == 1)
{

echo'<td align="center">
<input type="hidden" name="id" value="'.$row->id.'">
<input type="submit" value="Bearbeitet" name="status1"> ';

}else{

echo'<td align="center">
<input type="hidden" name="id" value="'.$row->id.'">
<input type="submit" value="Nicht Bearbeitet" name="status"> ';

}}

Danke im vorraus wenn man mir helfen kann
 
2 Sachen vornweg.
1) mysql_* ist veraltet und sollte nun wirklich nicht mher verwednet werden. Wechsle auf mysqli_*
2) Niemals ein Wert direkt aus $_POST oder $_GET in ein SQL schreiben. Die Anfängerhobbyhacker danken dir, wenn du es trotzdem machst. Verwende midestens mysqli_real_escape_string()

Zum Problem.
Mach pro Zeile ein Formular. So wie jetzt wird die id mehrfach gesendet, da jede Zeile ein verstecktes Feld ID hat.
 
Danke für deine hilfe ich habe jetzt jeden input ein formular gegeben und es hatt geklappt

da muss ich dir recht geben mit mysql das wird auch noch abgeändert und ich lerne auch schon oop damit ich auf den neuesten stand bin , ist halt nicht so einfach
 
Zurück