Hallo,
ich muss schon wieder um Hilfe bitte.
Bis jetzt habe ich ein Eingabeformular erstellt, das Daten in meine Übungsdatendank schreibt. Ich kann die Daten in einer Tabelle ausgeben lassen.
Jetzt habe ich einen Löschen-Button für jeden Datensatz erstellt, der den jeweils markierten Eintrag löschen soll. Irgendwie kommt früher oder später wohl jeder darauf, sowas zu machen
, denn ich habe bei meiner Fehlersuche schon einiges darüber gelesen - auch hier. Meine Frage konnte ich mir leider trotzdem nicht selbst beantworten.
Das Problem ist einfach, dass immer der letzte Datensatz (die letzte Zeile) gelöscht wird, obwohl ich einen ganz anderen Datensatz zum Löschen auswähle.
Ich habe versucht, das ganze mit einer if-Abfrage zu erledigen, vermute aber, dass ich GET falsch eingesetzt habe. Nur sehe ich meinen Fehler nicht.
Die ID wird von mySQL automatisch erstellt (auto_increment) und eingefügt. Ich lasse sie in meiner Tabelle zur Ansicht auch ausgeben.
Hier mal der Quelltext von meiner Löschen-Seite:
Ein Denkanstoß bei der Fehlersuche würde mir wirklich sehr weiterhelfen. 
Vielen Dank!
ich muss schon wieder um Hilfe bitte.
Bis jetzt habe ich ein Eingabeformular erstellt, das Daten in meine Übungsdatendank schreibt. Ich kann die Daten in einer Tabelle ausgeben lassen.
Jetzt habe ich einen Löschen-Button für jeden Datensatz erstellt, der den jeweils markierten Eintrag löschen soll. Irgendwie kommt früher oder später wohl jeder darauf, sowas zu machen

Das Problem ist einfach, dass immer der letzte Datensatz (die letzte Zeile) gelöscht wird, obwohl ich einen ganz anderen Datensatz zum Löschen auswähle.
Ich habe versucht, das ganze mit einer if-Abfrage zu erledigen, vermute aber, dass ich GET falsch eingesetzt habe. Nur sehe ich meinen Fehler nicht.
Die ID wird von mySQL automatisch erstellt (auto_increment) und eingefügt. Ich lasse sie in meiner Tabelle zur Ansicht auch ausgeben.
Hier mal der Quelltext von meiner Löschen-Seite:
PHP-Code:
<?php
if(isset($_GET['delete'])){
$Verbindung = mysql_connect('xxx', 'xxx', 'xxx');
mysql_select_db('xxx', $Verbindung)
or die('Die Datenbank ist nicht vorhanden.');
mysql_query("DELETE FROM minidata WHERE id='".$_GET['id']."'") OR die(mysql_error());
echo "<strong>Zutat erfolgreich gelöscht</strong>";
}
else {
echo 'nix gelöscht';
}
$sql = "SELECT `id`, `Zutat`, `kcal`, `Fett`, `KH`, `Prot` FROM `minidata`";
$Verbindung = mysql_connect('xxx', 'xxx', 'xxx');
mysql_select_db('xxx', $Verbindung);
$abfrageergebnis = mysql_query( $sql, $Verbindung );
echo '<table border="1">';
echo "<tr><th>id</th><th>Zutat</th><th>kcal</th><th>Fett</th><th>KH</th><th>Prot</th></tr>";
while ($datensatz = mysql_fetch_array( $abfrageergebnis )){
echo '<form method="get">';
echo "<tr>";
echo "<td>" .$datensatz['id']. "</td>";
echo "<td>" .$datensatz['Zutat']. "</td>";
echo "<td>" .$datensatz['kcal']. "</td>";
echo "<td>" .$datensatz['Fett']. "</td>";
echo "<td>" .$datensatz['KH']. "</td>";
echo "<td>" .$datensatz['Prot']. "</td>";
echo '<td><input type="hidden" name="id" value="'.$datensatz['id'].'" /></td>',
'<td><input type="submit" name="delete" value="Entfernen" /></td>';
echo "</tr>";
}
echo "</table>";
echo "</form>";
?>

Vielen Dank!
Kommentar