| Erfahrener Benutzer
Registriert seit: 16.08.2004
Beiträge: 145
| probleme beim löschen aus der datenbank Hi!
Ich hab folgendes Problem.
Ich möchte Bilder aus meiner Datenbank löschen. Dazu lasse ich den User in einem Formular auswählen aus welchem Artikel er Bilder löschen möchte: Code: <?
$sql3 = "select AID, Katid, Subkatid, Header, Bild1name, Bild2name, Bild3name, Teasertext, Haupttext1, Haupttext, Erscheinungsdatum, Haltbarkeit, KeineLoeschung, Author, Bild1, Bild2, Bild3, Freigabe, EmailAuthor, $username from stgeorg_artikel where $username = 1 and Bild1 = 1 order by AID";
$res = send_sql($sql3);
$anzahl3=mysql_numrows($res);
if ($anzahl3)
{
for ($k=0;$k<$anzahl3;$k++)
{
$AID=mysql_result($res, $k, AID);
$Katid=mysql_result($res, $k, Katid);
$Subkatid=mysql_result($res, $k, Subkatid);
$Header=mysql_result($res, $k, Header);
$Bild1name=mysql_result($res, $k, Bild1name);
$Bild2name=mysql_result($res, $k, Bild2name);
$Bild3name=mysql_result($res, $k, Bild3name);
$Teasertext=mysql_result($res, $k, Teasertext);
$Haupttext1=mysql_result($res, $k, Haupttext1);
$Haupttext=mysql_result($res, $k, Haupttext);
$Erscheinungsdatum=mysql_result($res, $k, Erscheinungsdatum);
$Haltbarkeit=mysql_result($res, $k, Haltbarkeit);
$KeineLoeschung=mysql_result($res, $k, KeineLoeschung);
$Author=mysql_result($res, $k, Author);
$Bild1=mysql_result($res, $k, Bild1);
$Bild2=mysql_result($res, $k, Bild2);
$Bild3=mysql_result($res, $k, Bild3);
$Freigabe=mysql_result($res, $k, Freigabe);
$EmailAuthor=mysql_result($res, $k, EmailAuthor);
echo "<table ><tr><td></td><td></td><td><img src=\"Bilder/teasertrenner.gif\" width=\"367\" height=\"1\" border=\"0\" alt=\"\">
</td></tr> <tr> <td valign=\"top\">·</td> <td width=\"2\"> </td> <td>$Header von Author: $Author
<a href=\"admin.php?Aufruf=90&edit=$AID\">Bilder Anzeigen</a></td> </tr> </table>";
}
}
?>
Japs.
Dann werden die Bilder aus dem ausgewählten Artikel aufgerufen: Code: <?
if ($edit > 0)
{
echo "<form action=\"bildkick.php\" method=\"post\">Bilder löschen
";
echo "<form action=\"bildkick.php\" method=\"post\" enctype=\"multipart/form-data\">Bitte wählen Sie das Bild aus, dass Sie löschen wollen.
(Es ist nicht möglich, mehrere Bilder auf einmal zu löschen.)
";
$sql = "select AID, Bild1, Bild2, Bild3, Bild1name, Bild2name, Bild3name, Height1, Height2, Height3, Unterschrift1, Unterschrift2, Unterschrift3 from stgeorg_artikel where AID = $edit";
$res = send_sql($sql);
$anzahl=mysql_numrows($res);
if ($anzahl)
{
for ($z=0;$z<$anzahl;$z++)
{
$AID=mysql_result($res, $z, AID);
$Bild1=mysql_result($res, $z, Bild1);
$Bild2=mysql_result($res, $z, Bild2);
$Bild3=mysql_result($res, $z, Bild3);
$Bild1name=mysql_result($res, $z, Bild1name);
$Bild2name=mysql_result($res, $z, Bild2name);
$Bild3name=mysql_result($res, $z, Bild3name);
$Height1=mysql_result($res, $z, Height1);
$Height2=mysql_result($res, $z, Height2);
$Height3=mysql_result($res, $z, Height3);
$Unterschrift1=mysql_result($res, $z, Unterschrift1);
$Unterschrift2=mysql_result($res, $z, Unterschrift2);
$Unterschrift3=mysql_result($res, $z, Unterschrift3);
if ($Bild1 == 1 and $Bild2 == 0 and $Bild3 == 0)
{
echo "<table > <tr><td><input type=\"Checkbox\" name=\"Bild1\" value=\"$AID\"></td> <td width=\"5\"> </td><td><img src=\"Gallerie/$Bild1name\" width=\"119\" height=\"$Height1\" border=\"0\" alt=\"\"></td> <td bgcolor=\"#EFEFEF\" width=\"5\"> </td> <td bgcolor=\"#EFEFEF\" valign=\"middle\" width=\"200\" align=\"center\">$Unterschrift1</td> </tr></table>";
}
if ($Bild1 == 1 and $Bild2 == 1 and $Bild3 == 0)
{
echo "<table > <tr><td><input type=\"Checkbox\" name=\"Bild1\" value=\"$AID\"></td> <td width=\"5\"> </td><td><img src=\"Gallerie/$Bild1name\" width=\"119\" height=\"$Height1\" border=\"0\" alt=\"\"></td> <td bgcolor=\"#EFEFEF\" width=\"5\"> </td> <td bgcolor=\"#EFEFEF\" valign=\"middle\" width=\"200\" align=\"center\">$Unterschrift1</td> </tr> <tr> <td><input type=\"Checkbox\" name=\"Bild2\" value=\"$AID\"></td> <td width=\"5\"> <td><img src=\"Gallerie/$Bild2name\" width=\"119\" height=\"$Height2\" border=\"0\" alt=\"\"></td> <td bgcolor=\"#DFDFDF\" width=\"5\"> </td> <td bgcolor=\"#DFDFDF\" valign=\"middle\" width=\"200\" align=\"center\">$Unterschrift2</td> </tr> </table>";
}
if ($Bild1 == 1 and $Bild2 == 1 and $Bild3 == 1)
{
echo "<table > <tr><td><input type=\"Checkbox\" name=\"Bild1\" value=\"$AID\"></td> <td width=\"5\"> </td><td><img src=\"Gallerie/$Bild1name\" width=\"119\" height=\"$Height1\" border=\"0\" alt=\"\"></td> <td bgcolor=\"#EFEFEF\" width=\"5\"> </td> <td bgcolor=\"#EFEFEF\" valign=\"middle\" width=\"200\" align=\"center\">$Unterschrift1</td> </tr> <tr> <td><input type=\"Checkbox\" name=\"Bild2\" value=\"$AID\"></td> <td width=\"5\"> <td><img src=\"Gallerie/$Bild2name\" width=\"119\" height=\"$Height2\" border=\"0\" alt=\"\"></td> <td bgcolor=\"#DFDFDF\" width=\"5\"> </td> <td bgcolor=\"#DFDFDF\" valign=\"middle\" width=\"200\" align=\"center\">$Unterschrift2</td> </tr> <tr> <td><input type=\"Checkbox\" name=\"Bild3\" value=\"$AID\"></td> <td width=\"5\"> <td><img src=\"Gallerie/$Bild3name\" width=\"119\" height=\"$Height3\" border=\"0\" alt=\"\"></td> <td bgcolor=\"#EFEFEF\" width=\"5\"> </td> <td bgcolor=\"#EFEFEF\" valign=\"middle\" width=\"200\" align=\"center\">$Unterschrift3</td> </tr> </table>";
}
}
}
echo "
<input type=\"Submit\" name=\"Absenden\" value=\"Löschen\">";
}
?>
Japs.
Nun habe ich eine schöne kleine Tabelle mit Checkboxen vorne dran. Je nach dem welches Bild ausgewählt wird, wird die Varialbe Bild1 oder Bild2 oder Bild 3 mit dem Inhalt $AID also der Identifizierungsnummer des Artikels übergeben. Diese wird an folgendes php script übergeben: Code: <?
include("shared.php");
connect();
parse_str($QUERY_STRING);
echo "$Bild1, $Bild2, $Bild3";
if ($Bild1 > 0)
{
$sql = "UPDATE stgeorg_artikel SET Bild1 = '0' WHERE AID = '$Bild1' LIMIT 1";
$res = send_sql($sql);
$sql2 = "select AID, Bild1, Bild2, Bild3, Bild1name, Bild2name, Bild3name, Unterschrift1, Unterschrift2, Unterschrift3, Height1, Height2, Height3, height11, height22, height33, width11, width22, width33 from stgeorg_artikel where AID = $Bild1";
$res2 = send_sql($sql2);
$AID=mysql_result($res2, 0, AID);
$Bild1db=mysql_result($res2, 0, Bild1);
$Bild2db=mysql_result($res2, 0, Bild2);
$Bild3db=mysql_result($res2, 0, Bild3);
$Bild1namedb=mysql_result($res2, 0, Bild1name);
$Bild2namedb=mysql_result($res2, 0, Bild2name);
$Bild3namedb=mysql_result($res2, 0, Bild3name);
$Height1db=mysql_result($res2, 0, Height1);
$Height2db=mysql_result($res2, 0, Height2);
$Height3db=mysql_result($res2, 0, Height3);
$Unterschrift1db=mysql_result($res2, 0, Unterschrift1);
$Unterschrift2db=mysql_result($res2, 0, Unterschrift2);
$Unterschrift3db=mysql_result($res2, 0, Unterschrift3);
$height11db=mysql_result($res2, 0, height11);
$height22db=mysql_result($res2, 0, height22);
$height33db=mysql_result($res2, 0, height33);
$width11db=mysql_result($res2, 0, width11);
$width22db=mysql_result($res2, 0, width22);
$width33db=mysql_result($res2, 0, width33);
if ($Bild2db = 1 and $Bild3db = 1)
{
$sql = "UPDATE stgeorg_artikel SET Bild1 = '1', Bild2 = '1', Bild3 = '0', Bild1name = '$Bild2namedb', Bild2name = '$Bild3namedb', Bild3name = '', Height1 = '$Height2db', Height2 = '$Height3db', Height3 = '', Unterschrift1 = '$Unterschrift2db', Unterschrift2 = '$Unterschrift3db', Unterschrift3 = '', Height11 = '$Height22db', Height22 = '$Height33db', Height33 = '', width11 = '$width22db', width22 = '$width33db', width33 = '' WHERE AID = '$Bild1' LIMIT 1";
$res = send_sql($sql);
}
if ($Bild2db = 1 and $Bild3db = 0)
{
$sql = "UPDATE stgeorg_artikel SET Bild1 = '1', Bild2 = '0', Bild1name = '$Bild2namedb', Bild2name = '', Height1 = '$Height2db', Height2 = '', Unterschrift1 = '$Unterschrift2db', Unterschrift2 = '', Height11 = '$Height22db', Height22 = '', width11 = '$width22db', width22 = '' WHERE AID = '$Bild1' LIMIT 1";
$res = send_sql($sql);
}
}
if ($Bild2 > 0)
{
$sql = "UPDATE stgeorg_artikel SET Bild2 = '0' WHERE AID = '$Bild2' LIMIT 1";
$res = send_sql($sql);
$sql2 = "select AID, Bild1, Bild2, Bild3, Bild1name, Bild2name, Bild3name, Unterschrift1, Unterschrift2, Unterschrift3, Height1, Height2, Height3, height11, height22, height33, width11, width22, width33 from stgeorg_artikel where AID = $Bild2";
$res2 = send_sql($sql2);
$AID=mysql_result($res2, 0, AID);
$Bild1db=mysql_result($res2, 0, Bild1);
$Bild2db=mysql_result($res2, 0, Bild2);
$Bild3db=mysql_result($res2, 0, Bild3);
$Bild1namedb=mysql_result($res2, 0, Bild1name);
$Bild2namedb=mysql_result($res2, 0, Bild2name);
$Bild3namedb=mysql_result($res2, 0, Bild3name);
$Height1db=mysql_result($res2, 0, Height1);
$Height2db=mysql_result($res2, 0, Height2);
$Height3db=mysql_result($res2, 0, Height3);
$Unterschrift1db=mysql_result($res2, 0, Unterschrift1);
$Unterschrift2db=mysql_result($res2, 0, Unterschrift2);
$Unterschrift3db=mysql_result($res2, 0, Unterschrift3);
$height11db=mysql_result($res2, 0, height11);
$height22db=mysql_result($res2, 0, height22);
$height33db=mysql_result($res2, 0, height33);
$width11db=mysql_result($res2, 0, width11);
$width22db=mysql_result($res2, 0, width22);
$width33db=mysql_result($res2, 0, width33);
if ($Bild3db = 1)
{
$sql = "UPDATE stgeorg_artikel SET Bild2 = '1', Bild3 = '0', Bild2name = '$Bild3namedb', Bild3name = '', Height2 = '$Height3db', Height3 = '', Unterschrift2 = '$Unterschrift3db', Unterschrift3 = '', Height22 = '$Height33db', Height33 = '', width22 = '$width33db', width33 = '' WHERE AID = '$Bild2' LIMIT 1";
$res = send_sql($sql);
}
}
if ($Bild3 > 0)
{
$sql = "UPDATE stgeorg_artikel SET Bild3 = '0' WHERE AID = '$Bild3' LIMIT 1";
$res = send_sql($sql);
}
?>
Dieses Script bezweckt das das ausgewählt Bild auf 0 gesetzt wird (Dann wird es nichtmehr angeziegt bzw ist in der Datenbank nichtmehr vorhanden). Falls das Bild 2 gelöscht wird und ein Bild3 existiert, dann rückt das Bild3 an die Stelle von Bild2, wird also zu Bild2.
Genauso wenn Bild1 gelöscht wird. Dann rückt 3 auf 2 und 2 auf 1.
Mein script arbeiten auch einwandfrei! Aber nur einmal!?! Sagen wir ich Lösche Bild2. Dann rutscht 3 auf 2 und das orginal 2 verschwindet. Wudnerbar. Das geht bei allen möglcihen Kombinationen!
Aber:
WEnn ich nachdem das 2te gelöscht würde nun noch das erste oder das jetzt zweite löschen will, geht das nichtmehr. Er löscht mir zwar alle zum bild gehörigen Daten aus der Datenbank (Height1, Height 11, width22, unterschrift1 usw) Aber den Bildstatus lässt er auf 1. Warum???
Ich weiss das es wahrscheinlich schwer ist sich da reinzudenken. Aber vieleicht ist mein Fehler ja so offensichtlich das ein geübtes Auge ihn gleich sieht.
Vielen Dank fürs lesen -.-
[/code] |