v2.5.2
Giriş yap

Toplu Ürün Silerken Resmini Klasörden Sildirmek

merakli
738 defa görüntülendi

Bu şekilde yaptığımda hata aldım nasıl yapabilirim fikri olan varmı

<?php


     <input type="checkbox" name="sil[]" value="<?php echo $uruncek['urun_id']; ?>&urunresimsil=<?php echo $urunresimcek['urun_resimyol']; ?>" />

        
        if($_POST){ 
        
        $sil =  implode(",",$_POST["sil"]);
                
        $delete = $db->query("DELETE FROM urunler WHERE urun_id in($sil) ");
        
        if($delete){
              
                $urunfotosil=$_POST['urunresimsil'];

               unlink("../$urunfotosil");

                echo '<h4>secilen Ürünler basarıyla silindi</h4>';

                 header("refresh: 2; url=urun.php");
          
        }else {
          
          
          echo "<h3>secilen Ürünler silinirken bir hata olustu</h3>";
          
        }
        
        }
?>
Cevap yaz
Cevaplar (10)
merakli
1355 gün önce

Toplu işlemde görseli sildiremedim sonra gerek de duymadım zaten tek silerken siliyor teşekkür ederim herkese ilgisinden dolayı

webdevyusuf
1355 gün önce
<input type="checkbox" name="sil[]" value="<?php echo $uruncek['urun_id']; ?>&urunresimsil=<?php echo $urunresimcek['urun_resimyol']; ?>" />

<?php
        
        if($_POST){ 
        
        $sil =  implode(",",$_POST["sil"]);
                
        $delete = $db->query("DELETE FROM urunler WHERE urun_id in($sil) ");
        
        if($delete){
              
                $urunfotosil=$_POST['urunresimsil'];

               unlink("../$urunfotosil");

                echo '<h4>secilen Ürünler basarıyla silindi</h4>';

                 header("refresh: 2; url=urun.php");
          
        }else {
          
          
          echo "<h3>secilen Ürünler silinirken bir hata olustu</h3>";
          
        }
        
        }
?>
qplot
1355 gün önce

inputta

value="<?php echo $uruncek['urun_id']; ?>&urunresimsil=<?php echo $urunresimcek['urun_resimyol']; ?>"

yapmıssın boyle olurmu hıc :)

value="burada urun_id" olmalı ornek value="83" olacak sen bıldıgın lınk gıbı value vermıssın

merakli
1355 gün önce

@webdevyusuf kodlarımda mevcut ama hata alıyorum

webdevyusuf
1355 gün önce

Merhaba php ile bir dosyayı silerken unlink fonksiyonu kullanılır. Ufak bir kullanımını bırakıyorum.

<?php

## Bu senin siliceğin dosyanın linki ##
$file = 'images/products/original/macbook-air-m1.png';

## Silme işlemi ##
$delete = unlink($file);

if ($delete) {
    echo 'File deleted.';
} else {
    echo 'File <b>not</b> deleted.';
}

?>
aydinkeskin
1355 gün önce

ben ilk önce gelen get değerini sutunda varmı diye kontol ettiriyorum eğer varsa ise ftp varmı diye
is_file ile kontrol ediyorum eğer ordada var ise unlink ile siliyorum unlink işlemleri gerçekleşti ise db den de silme işlemi yapıyorum.

sırası ile

geelen değer sql de varmı
sql de var ise dizinde varmı
    dizinde var ise sil
        silme olduysa sql den kaldır.
merakli
1355 gün önce

Maalesef bu şekilde hata vermekte sorun
<input type="checkbox" name="sil[]" value="<?php echo $uruncek['urun_id']; ?>&urunresimsil=<?php echo $urunresimcek['urun_resimyol']; ?>" />
bu kısımda olabilir mi

tek silme işleminde sorunsuz çalışıyor

<a href="ayar/islem.php?urunsil=ok&urun_id=<?php echo $uruncek['urun_id']; ?>&urunresimsil=<?php echo $urunresimcek['urun_resimyol']; ?>" class="btn btn-danger shadow btn-xs sharp">

<?php
    if ($_GET['urunsil']=="ok") {

	$sil=$db->prepare("DELETE FROM urunler WHERE urun_id=:urun_id");
	$kontrol=$sil->execute(array(
		'urun_id' => $_GET['urun_id']
	));

	if ($kontrol) {

		$urunfotosil=$_GET['urunresimsil'];

		unlink("../../$urunfotosil");

		header("Location:../urun.php?sil=ok");
	} else {
		header("Location:../urun.php?sil=no");
	}
}
?>
qplot
1355 gün önce

implode yerıne foreach kullanacaksın urun sılmeyıde foto sılmeyıde

ayrıca

header("refresh: 2; url=urun.php"); yerıne Location kullan

header("Location: urun.php");

FOTO YOLLARININ DOGRU OLDUGUNA EMIN OL

 
 foreach($_POST['sil'] as $sil){
 
 $delete = $db->query("DELETE FROM urunler WHERE urun_id=$sil");
        
        if($delete){
              
                $urunfotosil=$_POST['urunresimsil'];

               unlink("../$urunfotosil");

                echo '<h4>secilen Ürünler basarıyla silindi</h4>';

                 header("refresh: 2; url=urun.php");
          
        }else {
          
          
          echo "<h3>secilen Ürünler silinirken bir hata olustu</h3>";
          
        }
}
        
merakli
1355 gün önce

Ürün görselini mi foreach içine almalıyım

qplot
1355 gün önce

foreach kullan sorunun cozulur