Daha Kısa Nasıl Yazılabilir.
Merhaba Arkadaşlar Belki Bazılarının bu bile işini görecektir.
Hepinize yardımcı olur fakat
benden daha bilgili arkadaşların yardımına ihtiyacım var.
aşağıda belirttiğim işlem.
kategori yi sil
-kategori silersen resmini sunucudan sil
-kategoriyi silersen ona ait olan içeriğin resmini sunucudan sil
-kategoriyi silersen ona ait olan içerikleri sil
ve sonuç
bu işlemi daha kısa nasıl yazarım fonksiyon yardımı olmadan.
if(isset($_POST['ResimKatDelete']) && $_SESSION['bakmaoyle']=="true"){
$response = array();
$pid = intval($_POST['ResimKatDelete']);
$c = pre("SELECT * FROM resim_galeri_kat WHERE id=?");
$c->execute([$pid]);
$kat = $c->fetch(PDO::FETCH_ASSOC);
unlink('../uploads/resimgaleri/kategori/'.$kat["resim"]);
if($kat){
$query = "DELETE FROM resim_galeri_kat WHERE id=:id";
$stmt = $db->prepare( $query );
$stmt->execute(array(':id'=>$pid));
if($stmt) {
$s = pre("SELECT * FROM resim_galeri WHERE katid=?");
$s->execute([$pid]);
$resim = $s->fetchAll(PDO::FETCH_ASSOC);
foreach($resim as $ressil){
unlink('../uploads/resimgaleri/'.$ressil["resim"]);
}
if($resim){
$sql = "DELETE FROM resim_galeri WHERE katid=?";
$sil = pre($sql);
$sil->execute([$pid]);
}
$response['status'] = 'success';
$response['message'] = 'Resim Kategorisi Başarı İle Silindi.';
} else {
$response['status'] = 'error';
$response['message'] = 'Resim Kategorisi Silinirken Bir Hata Oluştu...';
}
echo json_encode($response);
}
}
Sadece veritabanından ilişkili verileri silmek olsaydı Foreign Key ile tabloları birbirine bağlardın. Burada ana tablon resim kategori tablon, diğer tablolarını foreign key ile silme işlemi için bağladığında kategoriyi sildiğinde otomatik olarak ona ait diğer tablolardaki verilerinde silinir.
Ek olarak kategorini silmeden önce kateori resimlerini çekip öyle silersin. Alttada sadece resimleri silebileceğin bir kod yazarsın işin daha da kolaylaşır :)