Bu dersimizde PHP kullnarak çoklu veri silme nasıl olur onu göreceğiz. PHP de çoklu veri silebilmemiz için verilern array olarak gelmesi gerekir ve foreach döngüsünü kullanmamız gerekir.

Ben localhostumda test adında bir veritabanı ve konular adı

<?php 
    $baglan = mysql_connect("localhost","root","");
    mysql_select_db("test",$baglan);

 

nda da bir tablo oluşturdum.

Konular tablomda konu_id  ve konu_adi adında bölümler oluşturdum aşağıdaki resimde görebilirsiniz.

 

Hemen bir adet index.php adında bir dosya oluşturalım ve ilk olarak  veritabanı bağlantısını yapalım.

<?php 
    $baglan = mysql_connect("localhost","root","");
    mysql_select_db("test",$baglan);

Daha sonra ise bir adet form oluşturuyoruz ve içinde while döngüsü ile verileri çekip bir adet checkbox ve bir adet submit butonu oluşturuyoruz.

echo '<form action="" method="post">';
    $v = mysql_query("select * from konular");
    while($r = mysql_fetch_array($v)){
        echo '<input type="checkbox" name="sil[]" value="'.@$r[konu_id].'" />';
        echo $r["konu_adi"]."<br>";
    }
        echo '<input type="submit" value="Toplu Sil" />';
    echo '</form>';

Formumuzun içine veri çekme işlemini başarıyla tamamladığımızda aşağıdaki görüntüyü almış olacağız.

En son ise formumuzuzn POST edilip edilmediğini kontrol ediyoruz, POST edildiyse foreachdöngüsüne sokup veri silme işlemini yapıyoruz.

    if($_POST){
            $id        = @$_POST["sil"];
            foreach ($id as $sil){
                $temizle = mysql_query("delete from konular where konu_id = '$sil'");
            }
    }    ?>

Genel olarak kodlarımızın tamamına bakacak olursak;

<?php 
    $baglan = mysql_connect("localhost","root","");
    mysql_select_db("test",$baglan);
    
    echo '<form action="" method="post">';
    $v = mysql_query("select * from konular");
    while($r = mysql_fetch_array($v)){
        echo '<input type="checkbox" name="sil[]" value="'.@$r[konu_id].'" />';
        echo $r["konu_adi"]."<br>";
    }
        echo '<input type="submit" value="Toplu Sil" />';
    echo '</form>';
        
    if($_POST){
            $id        = @$_POST["sil"];
            foreach ($id as $sil){
                $temizle = mysql_query("delete from konular where konu_id = '$sil'");
            }
    }    
?>

Bu şekilde toplu veri silme işlemlerinizi yapabilirsiniz. Bir sonraki derste görüşmek üzere 🙂