Nur einzelne Bilder löschen

Maxm123

Mitglied
Also ich möchte mit einem Script nur einzele Bilder aus einem Ordner und aus einer MySQL Tabelle löschen.
Ich bin so weit das ich mir alle Bilder auslesen lasse und daneben eine Checkbox nun weiß ich aber nicht so recht weiter wie ich das umsetzten soll. Mit den Checkboxen gebe ich die Bildname weiter die in einer MySQL Tabelle g stehen. Ja nun habe ich mir gedacht die übergebenen Bildnamen in eine MySQL Tabelle x zu schreiben dann soll er alle Bildnamen nehmen aus der Tabelle und diese aus einem Ordner löschen den er schon am anfang des scriptes zugeteilt bekommt. Danach soll er alle Einträge aus der MySQL Tabelle g der Gallerie löschen wo die Bildnamen mit den Einträgen der MySQL Tabelle x übereinstimmen... ist leicht gesagt aber ich weiß nicht so genau wie ich das mit den übergaben der werte aus den cheackboxen mache...

Danke schon mal


Hier noch der Code von der Seite mit den Checkboxen:
PHP:
include ("../dbconfig.php");

//Verbinden zu Datenbank
$ordner = $_POST['ordner'];


$link = mysql_connect("$dbhost","$dbuser","$dbpw")

             or die("Verbindung zum Server fehlgeschlagen.". mysql_error());



//Datenbank nutzen



$db_selected = mysql_select_db("$db", $link)

   or die ("Kann die Datenbank $db nicht benutzen :". mysql_error());



$sql = "SELECT * FROM gallerie_$ordner";



$result = mysql_query($sql)

   or die('Ungltige Abfrage: ' . mysql_error());



echo "<form action=\"bilderloeschens3.php\" method=\"post\" target=\"_self\">";



while($row = mysql_fetch_array($result))

{

        // Print out the contents of each row into a table

        echo "<input name=\"bild".$row['ID']."\" type=\"checkbox\" value=\"".$row['Bildname']."\">";

        echo "<img src=\"".$row['BildThumbURL']."\">";

        echo "<br>";

}

echo "</select><br><br><input name=\"send\" type=\"submit\" value=\"Ausw&auml;hlen\" /></form><br><br><a href=\"index.php\">Zur&uuml;ck zum Hauptmen&uuml;</a>";
mysql_close($link);
 
PHP:
echo "<input name=\"bild\" type=\"checkbox\" value=\"".$row['ID']."\">";

//weiterarbeiten mit:

$id = $_POST['bild'];
echo $id." = Die ID des Bildes";
 
naja mit einem Bild klappt das ja ganz gut aber wie macht man das mit 2,3,....? dann gibt er mit immer nur dir größte ID bzw Zahl aus
 
Du hast in jeder Zeile deiner while-Schleife eine andere ID als Value bei den Checkboxen.
Nachdem Du das Formular abgesendet hast und eine Checkbox ausgefüllt hast, kannst Du mit dieser weiterarbeiten:

PHP:
//auswählen
$sql = mysql_query("SELECT * FROM gallerie_ordner WHERE ID=".$_POST['ID']);

//löschen
$sql = DELETE FROM gallerie_ordner WHERE ID=".$_POST['ID']);
 
Das ganze funktioniert prima mit einem Bilder ab wie gesagt...wie mach ich das mit mehreren...es wird immer das Bild mit der größten ID gelöscht
 
dann musste das input-feld als array machen:

Code:
<input type="checkbox" name="bild[]".....>

und das ganze in einer schleife abarbeiten.
 
So n Ausschnitt aus dem Code für die Bildauswahl:
PHP:
while($row = mysql_fetch_array($result))

{

        // Print out the contents of each row into a table

        echo "<input name=\"bild".$row['ID'];"\" type=\"checkbox\" value=\"".$row['ID']."\">";

        echo "<img src=\"".$row['BildThumbURL']."\">";

        echo "<br>";

}

echo "</select><br><br><input name=\"send\" type=\"submit\" value=\"Ausw&auml;hlen\" /></form><br><br><a href=\"index.php\">Zur&uuml;ck zum Hauptmen&uuml;</a>";

Aber wenn ich das jetzt weitergebe müsste ich ja
PHP:
$id1 = $_POST['bild1'];
.
.
.
für jedes bild machen...wie kann ich das machen das er das automatisch für jedes ausgewählte Bild macht?
das wenn Bild 2 und 4 ausgewählt sind soll er automatisch im nächsten dokument
PHP:
$id2 = $_POST['bild2'];
$id4 = $_POST['bild4'];
und id3 und id1 weg lässt
 
Wenn Du das Input Feld natürlich immer anders benennst in der Schleife kann es nicht funktionieren. Das muss schon der selbe namen sein damit du drauf zugreifen kannst so wie ich es oben erklärt habe.

PHP:
while($row = mysql_fetch_array($result))

{

        // Print out the contents of each row into a table

        echo "<input name=\"bild[]\" type=\"checkbox\" value=\"".$row['ID']."\">";

        echo "<img src=\"".$row['BildThumbURL']."\">";

        echo "<br>";

}

danach kannst Du wenn das Formular abgeschickt ist mit:

PHP:
foreach($bild as $key)
{
echo $key."<br /">;
}

weitermachen.
 
Zurück