Több kép törlése egy kattintásból
Sziasztok.
Egy hirdetés több képet tartalmaz. Egy profilképet és további 5 képet. A profilkép a profilkepek direktóriumban,a többi max 5kép pedig az albumkepek direktóriumba ill a hozzájuk tartozó thumbsba töltődnek fel.
Törlésnél az adatbázis táblázataiból törlődik az adat. Nincs vele semmi probléma. Továbbá a profilkép is törlődik a profilkepek és a profilkepekthumbs direktóriumokból.
A gond az hogy az albumkepek és albumkepekthumbsben ott maradnak a képek,nem törlődnek ki. Foreach-et hasznalok a képek megjelenítéséhez. Úgy gondoltam majd a törlésnél is ezt teszem...Hibás a foreach vagy teljesen mást kellene használnom?
■ Egy hirdetés több képet tartalmaz. Egy profilképet és további 5 képet. A profilkép a profilkepek direktóriumban,a többi max 5kép pedig az albumkepek direktóriumba ill a hozzájuk tartozó thumbsba töltődnek fel.
Törlésnél az adatbázis táblázataiból törlődik az adat. Nincs vele semmi probléma. Továbbá a profilkép is törlődik a profilkepek és a profilkepekthumbs direktóriumokból.
A gond az hogy az albumkepek és albumkepekthumbsben ott maradnak a képek,nem törlődnek ki. Foreach-et hasznalok a képek megjelenítéséhez. Úgy gondoltam majd a törlésnél is ezt teszem...Hibás a foreach vagy teljesen mást kellene használnom?
function delete_hirdetes($hirdetes_id) {
$hirdetes_id = (INT)$hirdetes_id;
$profil_image_query = mysql_query("SELECT `ext` FROM `hirdetesek` WHERE `hirdetes_id`='$hirdetes_id' AND `user_id`=".$_SESSION['user_id']);
$profil_image_result = mysql_fetch_assoc($profil_image_query);
$profil_image_ext = $profil_image_result['ext'];
unlink('uploads/profilkepek/'.$hirdetes_id.'.'.$profil_image_ext);
unlink('uploads/profilkepekthumbs/'.$hirdetes_id.'.'.$profil_image_ext);
$images_query = mysql_query("SELECT `image_id`,`ext` WHERE `hirdetes_id`='$hirdetes_id' AND `user_id`=".$_SESSION['user_id']);
$images = array();
while ($images_row = mysql_fetch_assoc($images_query)) {
$images[] = array(
'id' => $images_row['image_id'],
'ext' => $images_row['ext']
);
}
foreach ($images as $image) {
$image_id = $image['image_id'];
$image_ext = $image['ext'];
unlink('uploads/albumkepek/'.$image_id.'.'.$image_ext);
unlink('uploads/albumkepekthumbs/'.$image_id.'.'.$image_ext);
}
mysql_query("DELETE FROM `images` WHERE `hirdetes_id`='$hirdetes_id' AND `user_id`=".$_SESSION['user_id']);
mysql_query("DELETE FROM `hirdetesek` WHERE `hirdetes_id`='$hirdetes_id' AND `user_id`=".$_SESSION['user_id']);
}
while
while
ciklusban is kitörölheted a képeket, felesleges még egy ciklust bevezetni. Én teszteléshez kiíratnám azokat az elérési utakat, amiket megpróbálsz törölni, és leellenőrizném, hogy azok léteznek-e. Ezen kívül azunlink
E_WARNING
hibaüzenetet dob, ha nem tudja a fájlt törölni, azaz kellene róla értesítést kapnod, ha nem tudja törölni.Poetronak igaza van,
első hiba
Töröltem a foreachet és a whileon belül meg is próbáltam törölni,sikertelenül. Hibaüzenetet sosem kapok. Hát akkor most szórakozok egyet az elérési útvonalakkal. Köszönöm az eddigi segítséget
Elolvastad?
while
ciklusban? Egyáltalán lefut awhile
? Mondjuk egySELECT
-nek nem árt megadni egyFROM
kitételt is.Köszönöm
Igazából ez egy sulis projekt. Autóhirdetéses oldalt csinálok. Már csak a keresés a hirdetések között hiányzik. Főiskola,fél éves volt a tantargy,szóval hiányosak az ismereteim. A könyvünkben egy kereséses példa van,ami csak egy szó alapján keres,ki lehet választani hol keressen. Összetett keresést szeretnék. A felhasználó kiválaszthatná a tipust,uzemanyagot,szin,felszereltség...,ahogy ez a hirdetés feladásánál történik. Esetleg tudnátok ajánlani egy linket ahol találnék példát összetett keresésre?
Használtál
Ott a pont!