Webmaster
Hallo und guten Abend,
ich komme hier einfach nicht weiter, wer hat eine Idee oder Lösung.
Ich möchte mit dem löschen der Datensätze in der Datenbank auch die dazugehörigen Bilder im Bilderordner löschen.
danke im voraus
winne52
ich komme hier einfach nicht weiter, wer hat eine Idee oder Lösung.
Ich möchte mit dem löschen der Datensätze in der Datenbank auch die dazugehörigen Bilder im Bilderordner löschen.
PHP:
//in jedem angezeigten Datensatz steht
<td title='LÖSCHEN' class='loeschen'>
<input type='checkbox' name='delete_id[]' value='" . $id . "' />
</td>
//baut sich über die while-Schleife entsprechend der Anzahl der Datensätze in der DB auf
//Über die Chekbox kann ich mehrere Datensätze auswählen die ich löschen möchte
// 1. löschen der bilder
//ich möchte in beiden Bilderordnern (big und smal) die im Datensatz hinterlegten Bilder gleichen Namens ($bilddaten) löschen
$sql = "SELECT `bilddaten` FROM $pdb
////////////////////////////////////////////////////////////////////////////////////////
WHERE id IN ('" . implode("','", $_POST["delete_id"]) . "')";
///////////////////////////////////////////////////////////////////////////////////////
$result = mysql_query ($sql);
while ( $row = mysql_fetch_array ($result) ){
$bilddaten = $row['bilddaten'];
// SQL-befehl ausführen
if (mysql_query($sql)) {
$ziel_big = "../bilder/". $pdb ."/big/$bilddaten";
$ziel_smal = "../bilder/". $pdb ."/smal/$bilddaten";
if (unlink($ziel_big)) {
echo "<p>big-Bild " . $bilddaten . " wurde gelöscht!.</p>";
}
if(unlink($ziel_smal)) {
echo "<p>smal-Bild " . $bildddaten . " wurde gelöscht!.</p>";
}
}
else {
echo "<p class='fehler'>Fehler beim Löschen der Bilder!</p>" .
mysql_error() . "<pre>" . $sql . "</pre>"; // MySQL-Fehlermeldung und SQL-befehl ausgeben
}
}
/////////////////////////////////////////////////////////////////////
//funktioniert das bei SELECT auch mit WHERE id IN (id1,id2,id3) ?????? - kann es im Moment nicht testen
/////////////////////////////////////////////////////////////////////
//2. löschen der datensätze
// SQL-befehl (löscht einen oder mehrere datensätze)
$sql = "DELETE FROM $pdb
WHERE id IN ('" . implode("','", $_POST["delete_id"]) . "')";
// SQL-befehl ausführen
if (mysql_query($sql)) {
echo "<p><span style=padding-left:10px;>" . (count($_POST["delete_id"]) > 1 ? "Die Datensätze wurden" : "Der Datensatz wurde") . " gelöscht.</span></p>";
}
danke im voraus
winne52
Zuletzt bearbeitet: