[PHP] Problem mit Formularauswertung

RonZ

Lt. Junior Grade
Registriert
Aug. 2005
Beiträge
260
Hallo,
ich hab ein Problem mit meinem Skript. Eigentlich ist es keins mehr, allerdings Interessiert mich der Zusammenhang für evtl. spätere Codes mit analogem Problem.

Und zwar hab ich das Skript in zwei Varianten, das eine funktioniert, das andere nur teilweise. Das mir nicht erschließende Problem ist, das ich nur zwei Schleifen vertauscht hab.

Der funktionierende Code:
PHP:
if($submit_del == "Delete")
{        
    	include("data.php");
        mysql_select_db('carbodoc',$conn);

#Dazugehöriges Bild löschen

        for($j=0;$j<count($del);$j++)
        {
            $picdel_query = "SELECT * FROM tblbilder ";
            $picdel_query .= "WHERE ID=".$del[$j]." ";
            $picdel_res = mysql_query($picdel_query,$conn);
	    $cell = mysql_fetch_array($picdel_res, MYSQL_ASSOC);
	    @unlink($directory.$cell[bname]);
        }

        $del_query = "DELETE FROM tblbilder WHERE ID=$del[0] ";

    	for($i=1;$i<count($del);$i++)
        {
        	$del_query .= " OR ID=$del[$i]";
        }
        mysql_query($del_query,$conn);

        echo "Drop-Vorgang ausgeführt";
}

Der NICHT funktionierende Code:
PHP:
if($submit_del == "Delete")
{        
    	include("data.php");
        mysql_select_db('carbodoc',$conn);

        $del_query = "DELETE FROM tblbilder WHERE ID=$del[0] ";

    	for($i=1;$i<count($del);$i++)
        {
        	$del_query .= " OR ID=$del[$i]";
        }
        mysql_query($del_query,$conn);

#Dazugehöriges Bild löschen

        for($j=0;$j<count($del);$j++)
        {
            $picdel_query = "SELECT * FROM tblbilder ";
            $picdel_query .= "WHERE ID=".$del[$j]." ";
            $picdel_res = mysql_query($picdel_query,$conn);
	    $cell = mysql_fetch_array($picdel_res, MYSQL_ASSOC);
	    @unlink($directory.$cell[bname]);
        }

        echo "Drop-Vorgang ausgeführt";
}

Die "data.php" beinhaltet den Verbindungsaufbau zu DB usw.

Zur Aufgabe des Skriptes:
Es wird ein, wie sicher schon bemerkt, File-Lösch-Formular ausgewertet.
Checkboxen für die gewünschten Bilder werden gewählt und auf den "Delete"-Button gedrückt.
Die checkboxen haben den name="del[]" und die values der jeweiligen Bild-ID in der DB.

Nun klappt es zwar zuerst das File mithilfe von unlink und dann den dazugehörigen MySQL-Datensatz zu löschen, aber nicht anders herum. Warum?

Ich hoffe ich habe mich nicht zu umständlich ausgedrückt.

MfG RonZ
 
Ganz einfach: wenn Du die Datensätze aus der Datenbank entfernt hast, kannst Du diese schwerlich anschließend aus der Datenbank auslesen... ;)

greetings, Keita
 
Ach du S*** :D
Man sollte doch ab und zu mal die einfacheren Dinge hinterfragen.
Gott is das peinlich....vielen Dank. :)

MfG
 
Zurück
Oben