Hallo Leute,
zunächst mal meinen Status: ich bin ein ziemlicher PHP-Anfänger :-(
Ich habe eine Telefonliste gestrickt, die eigentlich nichts weiter macht als Daten aus einer MySQL-DB nach Eingabe von Suchkriterien aufzulisten. Klappt auch prima.
Nun möchte ich hier auch Daten ändern bzw. löschen.
Das Löschen ist mein Problem.
Ich habe hinter jedem angezeigten Datensatz einen Link gesetzt (ähnlich wie in phpMyAdmin), der eine Javascript-Funktion aufruft, die nochmals Nachfragt ob wirklich gelöscht werden soll oder nicht. Wenn ja, dann startet diese Funktion mittels window.location ein PHP-Script welches nichts anders macht als mit Hilfe der übergebenen Parameter den entsprechenden Datesatz zu löschen.
Der Aufruf über window.location deshalb, damit keine neue (leere) Webseite eingeblendet wird.
Lasse ich das ganze lokal laufen, funktioniert es wie gewünscht. Pack ich es auf einen Server, der auch schon mal anderweitig beschäftigt ist, geht es mal, mal wieder nicht. Wobei das "nicht" überwiegt.
Auch wenn das Löschen nicht funktioniert hat, es gibt keinerlei Fehlermeldung, das Programm macht ganz normal weiter.
Gibt es sowas wie Timingprobleme?
Könnte mir auch gut vorstellen das ich irgend etwas grundsätzliches im Programmaufbau für diese Problem falsch mache. Aber was??? :-(
Wäre Dankbar für einen Schubs in die richtige Richtung...
hier noch in Auszügen das Script:
Die Anzeige des Datensatzes
<td ><a href='javascript: DSdelete($ID, \"$NN\");'><img width='16' height='16' src='b_drop.png' alt='Löschen' title='Löschen von $NN' border='0'></a></td>";
Die Javascript-Funktion die das Löschen starten soll
function DSdelete(VID,VNN)
{
klick=confirm("Soll der Eintrag zu " + VNN +" wirklich gelöscht werden?");
if (klick==true)
{
var loc="TelefonDSdel.php?order=L&ID=" + VID;
window.location=loc;
window.location.reload();
}
}
das PHP-Lösch-Script
<?php
if ($order=='L')
{
mysql_connect("localhost","root");
$sqlstatement="Delete from telefonliste where ID=$ID Limit 1";
$result=mysql_db_query('Telefon',$sqlstatement);
}
?>
<script language="Javascript">history.back();window.location.reload()</script>
zunächst mal meinen Status: ich bin ein ziemlicher PHP-Anfänger :-(
Ich habe eine Telefonliste gestrickt, die eigentlich nichts weiter macht als Daten aus einer MySQL-DB nach Eingabe von Suchkriterien aufzulisten. Klappt auch prima.
Nun möchte ich hier auch Daten ändern bzw. löschen.
Das Löschen ist mein Problem.
Ich habe hinter jedem angezeigten Datensatz einen Link gesetzt (ähnlich wie in phpMyAdmin), der eine Javascript-Funktion aufruft, die nochmals Nachfragt ob wirklich gelöscht werden soll oder nicht. Wenn ja, dann startet diese Funktion mittels window.location ein PHP-Script welches nichts anders macht als mit Hilfe der übergebenen Parameter den entsprechenden Datesatz zu löschen.
Der Aufruf über window.location deshalb, damit keine neue (leere) Webseite eingeblendet wird.
Lasse ich das ganze lokal laufen, funktioniert es wie gewünscht. Pack ich es auf einen Server, der auch schon mal anderweitig beschäftigt ist, geht es mal, mal wieder nicht. Wobei das "nicht" überwiegt.
Auch wenn das Löschen nicht funktioniert hat, es gibt keinerlei Fehlermeldung, das Programm macht ganz normal weiter.
Gibt es sowas wie Timingprobleme?
Könnte mir auch gut vorstellen das ich irgend etwas grundsätzliches im Programmaufbau für diese Problem falsch mache. Aber was??? :-(
Wäre Dankbar für einen Schubs in die richtige Richtung...
hier noch in Auszügen das Script:
Die Anzeige des Datensatzes
<td ><a href='javascript: DSdelete($ID, \"$NN\");'><img width='16' height='16' src='b_drop.png' alt='Löschen' title='Löschen von $NN' border='0'></a></td>";
Die Javascript-Funktion die das Löschen starten soll
function DSdelete(VID,VNN)
{
klick=confirm("Soll der Eintrag zu " + VNN +" wirklich gelöscht werden?");
if (klick==true)
{
var loc="TelefonDSdel.php?order=L&ID=" + VID;
window.location=loc;
window.location.reload();
}
}
das PHP-Lösch-Script
<?php
if ($order=='L')
{
mysql_connect("localhost","root");
$sqlstatement="Delete from telefonliste where ID=$ID Limit 1";
$result=mysql_db_query('Telefon',$sqlstatement);
}
?>
<script language="Javascript">history.back();window.location.reload()</script>
Comment