Ai-Caramba.
Ich hab mal mit etwas leichtem angefangen und mal etwas zusammen geschrieben dass einen ganzen Datensatz aus einer Tabelle entfernen soll.
Nachdem ich mal euere Beiträge n bisschen zusammen gelesen hab und auch die Links durchgeschaut hab ist nun folgendes dabei raus gekommen.
Es gibt eine andere Seite wo man Datensätze eingibt diese werden dann in einer Tabelle gespeichert (ACP)
Es gibt eine andere Seite wo alle Daten ausgegeben werden aber man sie auch gleichzeitig löschen kann (ACP)
Es gibt eine andere Seite wo eine Sicherheitsabfrage und die Funktion zum eintrag löschen ausgegeben wird. (ACP)
Es gibt ein eine andere Seite wo die Daten ausgegeben werden in einer Tabellenübersicht
Die Tabellenübersicht und das Eintragen funktioniert das Löschen (Mit so einem Link
) Funktioniert leider noch nicht... es wird nach dem ID= keine Datensatz-ID eingefügt...
deletetodo.func.php (Die Datei die alles ausführt und die Sicherheitsabfrage hat)
Code: Alles auswählen
<?php
$id = $_GET[ID];
$loeschen = $_GET[Loeschen];
if ($loeschen == 1) {
$abfrage = mysql_query("SELECT * FROM todo WHERE ID = '$id' LIMIT 1");
$row = mysql_fetch_object($abfrage);
echo "<h3>Sicherheitsabfrage</h3>";
echo "<p>$row->text</p>";
echo "<p><a href=\"deletetodo.func.php?ID=$id&Loeschen=2\" target=\"_self\">Löschen</a></p>";
}
if ($loeschen == 2) {
$do_it = mysql_query("DELETE FROM todo WHERE ID = '$id' LIMIT 1");
if ($do_it) {
echo "<p>Eintrag wurde erfolgreich gelöscht und ist nicht mehr in der Datenbank vorhanden.</p>";
}
else
{ echo "<p>Fehler beim Löschen der Daten:</p>"; }
echo "<p><a href=\"deletetodo.php\">Einträge anzeigen</a></p>";
}
?>
deletetodo.php (Datei die alles ausgibt + Links zum löschen):
Code: Alles auswählen
<?php
include '../connect.php';
$abfrage = mysql_query("SELECT * FROM todo");
while ($row = mysql_fetch_object($abfrage)) {
$id = $row->ID;
echo "<table style=width:100%>";
echo "<tr>";
echo "<td align=center style=width:33%> </td>";
echo "<td align=center style=width:33%> </td>";
echo "<td align=center style=width:33%> </td>";
echo "</tr>";
echo "<tr>";
echo "<td align=center style=width:33%></td>";
echo "<td align=center style=width:33%>";
echo $row->text;
echo "</td>";
echo "<td align=center style=width:33%><a href=\"deletetodo.func.php?ID=$id&Loeschen=1\" target=\"_self\">Eintrag löschen</a></td>";
echo "</tr>";
echo "</table>";
echo "<hr>";
}
if (mysql_num_rows($abfrage) == 0) { echo "<p>Keine Einträge vorhanden.</p>"; }
?>
Kann mir einer sagen wo das Problem liegt dass an der stelle deletetodo.func.php?ID=$id&Loeschen=1 wenn es ausgeführt werden soll keine ID steht ?
Bei der ausgabe steht dann:
deletetodo.func.php?ID=&Loeschen=1
also fehlt die ID die dafür sorgt dass der Datensatz angewählt wird und anschließend gelöscht wird... Klicke ich dann auf bestätigung der sicherheitsabfrage ("Löschen") kommt dieser text:
Eintrag wurde erfolgreich gelöscht und ist nicht mehr in der Datenbank vorhanden.
aber der datensatz ist immernoch in der Tabelle vorhanden ?