PHP PDO Delete İşlemi

PHP PDO Delete İşlemi

Hepinize merhaba dostlarım :) bu yazımda PHP PDO ile yaptığımız crud işlemlerinden en sonuncusu olan delete yani silme işleminden bahsedeceğim. Kullanımı çok kolay ve bir o kadar da riskli olduğunu şimdiden belirtmek istiyorum. Neden mi ? Çünkü şart belirtmediğiniz anda bütün veriler çöp olur :). Geri getirilir mi bilmiyorum çünkü normalde hiç böyle geri getirme işlemi ile uğraşmadım. Yani uzun lafın kısası dostlarım bu silme işlemini gerçekleştirmeden önce çok dikkatli olun, where şartını mutlaka yazın derim :). O halde sözü uzatmadan yavaştan başlayalım. MySQL bağlantısını

linkine ulaşıp alabilirsiniz dostlarım. Önceki yazılarımızda okul database si oluşturmuştuk ve içerisinde öğrenciler tablosu oluşturmuştuk. Şimdi yeni konumuz olan delete işlemi için o tablonun içini boşaltalım ve elimizle yeni kayıtlar ekleyelim

adi = "Mehmet"
soyadi = "Yücel"
cinsiyeti = 1

adi = "Mahmut"
soyadi = "Altun"
cinsiyeti = 1

adi = "Elif"
soyadi = "Ceyhan"
cinsiyeti = 0

bu şekilde kayıtları oluşturalım dostlarım. Daha sonra ogrenciler.php dosyası açıp bu öğrencileri veri tabanından çekip tabloda listeleyelim :)

<?php
 include('baglan.php'); // SQL BAĞLANTI DOSYASINI SAYFAYA DAHİL EDELİM
?>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>PHP PDO Read - Delete İşlemi | MFSoftware Blog</title>
  
  <style>
    table thead th{
      border : 2px solid black;
    }
    
    table tbody td{
      border: 2px solid black;
    }
  </style>
  
</head>
<body>

   <?php
    // ÖĞRENCİLERİ VERİ TABANINDAN ÇEKELİM
    $ogrenci = $db->prepare("SELECT * FROM ogrenciler");  // SORGUYU YAZALIM
    $ogrenci->execute();  // SORGUYU ÇALIŞTIRALIM
    $ogrenci_cek = $ogrenci->fetchAll(PDO::FETCH_ASSOC); // TÜM VERİLERİN ÇEKİLMESİNİ İSTEYELİM

   ?>

  <table style="border: 2px solid black;">
    <thead>
      <tr>
      <th>ID</th>
      <th>Öğrenci Adı</th>
       <th>Öğrenci Soyadı</th>
       <th>Öğrenci Cinsiyet</th>
       <th>İşlemler</th>
    </tr>
    </thead>
    <tbody>
    
    <?php foreach($ogrenci_cek as $key){ ?>
      <tr>
        <td><?php echo $key['id']; ?></td>
        <td><?php echo $key['adi']; ?></td>
        <td><?php echo $key['soyadi']; ?></td>
        <td><?php echo $key['cinsiyeti']; ?></td>
        <td><a href="islem.php?ogrenci_sil_id=<?php echo $key['id']; ?>">Öğrenci Sil</a></td>
      </tr>
    <?php } ?>
    </tbody>
  </table>
</body>

Evet dostlarım belirtildiği gibi öğrencileri listeledik. Ve dikkat ettiyseniz ek bir kolon oluşturduk Öğrenci Sil diye :). Bu kısma kadar tamamız. Hadi şimdi islem.php kısmını yazalım

<?php

include('baglan.php'); // BAĞLANTI DOSYASINI INCLUDE ETTİK

// SİLME KISMI
if(isset($_GET['ogrenci_sil_id'])){

$ogrenci_id = $_GET['ogrenci_sil_id'];  // ÖĞRENCİ ID SİNİ DEĞİŞKENE ATAYALIM


                    // SORGUDA BELİRTİLEN İD DEKİ ÖĞRENCİYİ SİL DİYORUZ 
                    // ŞART BELİRTMEZSEK BÜTÜN ÖĞRENCİLER YOK OLUR :) AMAN DİKKAT DOSTLARIM 
$sil = $db->prepare("DELETE FROM ogrenciler WHERE id=:id");
$delete = $sil->execute(array(
   "id"=>$ogrenci_id
));

if($delete){
  // silme işlemi başarılı olmuş ise ogrenciler.php sayfasına ilerlerin
   header("Location: ogrenciler.php");
}else{
  // silme işleminde hata olmuş ise ekrana mesaj yazdırsın
  echo "Öğrenci Silinme İşleminde Hata Oluştu";
}

}

?>

Şimdi dostlarım gelin bu işlem nasıl çalışıyor birlikte inceleyelim :). Öncelikle verileri listeledik ve ek bir kolon açıp silme linki koyduk. Bu linkin adresinden de tıklanıldığı an islem.php sayfasına "ogrenci_sil_id" olarak bir get değer göndermesini ve eğer "ogrenci_sil_id" get değeri gelmiş ise silme işlemini başlatmasını söyledik. Daha sonra SQL DELETE sorgusunu başlattık ve gelen id ye göre (get değeri) kaydı veri tabanından silme işlemini oluşturduk. İşlem başarıyla sonuçlanmış ise "ogrenciler.php" sayfasına yönlenmesini, hatalı sonuçlanmış ise "Öğrenci Silinme İşleminde Hata Oluştu" yazısını ekrana basmasını söyledik.

Dostlarım bütün işlemler bu kadar :). Dediğim gibi delete işlemine çok çok dikkat edin where yazımında da dikkatli olun çünkü ya tüm tabloyu silersiniz ya da yanlış belirtilen şart yüzünden veri kaybı yaşarsınız. 

Umarım güzel bir anlatım yapabilmişimdir. Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar :)

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıPHP Karar Yapıları
Sonraki YazıPHP Döngü Kullanımı
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz