22 Mayıs 2018 Salı

PHP | PDO ile Veritabanından Veri Silme

Hiç yorum yok

PHP | PDO ile Veritabanından Veri Silme



PDO ile veritabanımızdan nasıl veri silinir ondan bahsedicem.

Veritabanımızdan veri silmeyi phpmyadmin'e girerekde silebiliriz ancak bunu tek bir tuşla ve hiç yorulmadan istediğimiz veriyi silme işlemini gerçekleştireceğiz.

Bu makalemde Admin panelinden üye silme işlemini baz alarak kodlarımı ona göre hazırlayacağım.


İlk olarak bir config bağlantısı gerçekleştirelim. Bağlantı kodlarımız aşağıdaki gibidir.

try {
$db = new PDO("mysql:host=localhost;dbname=makale;charset=utf8", "root", "root");
} catch ( PDOException $e ){
print $e->getMessage();
}

Admin panelimize geçelim ve üyelerimizi panelimize çekelim ve daha sonrada silme işlemine geçelim. Panelimize üyelerimizi çekmekle başlayalım daha sonrada üye silme işlemine geçelim.

Veri çekme işlemini blogumda paylaşmıştım biraz bakarsanız bulabilirsiniz.

$query = $db->query("SELECT * FROM uyeler order by uye_id desc", PDO::FETCH_ASSOC);
foreach($query as $row){
if ($row["uye_rank"] == 1){
$row["uye_rank"] = "Üye";
}else if($row["uye_rank"] == 2){
$row["uye_rank"] = "Yazar";
}else if($row["uye_rank"] == 3){
$row["uye_rank"] = "Banlı";
}
if($row["uye_onay"] == 1){
$row["uye_onay"] = "Onaylı";
}else if($row["uye_onay"] == 0){
$row["uye_onay"] = "Onaysız";
}
echo "<tr><td>".$row["uye_id"]."</td>
<td>".$row["uye_username"]."</td>
<td>".$row["uye_eposta"]."</td>
<td>".$row["uye_numara"]."</td>
<td>".$row["uye_adsoyad"]."</td>
<td>".$row["uye_rank"]."</td>
<td>".$row["uye_onay"]."</td><td>
<a href='uyeduzenleme.php?id=".$row["uye_id"]."'><button class='btn btn-primary btn-xs'><i class='fa fa-pencil'></i></button></a>";
?>
<a onclick="return confirm('Üyeyi Silmek İstediğinize Eminmisiniz?');" href="uyesilme.php?id=<?php echo $row["uye_id"]; ?>">
<?php echo '<button class="btn btn-danger btn-xs"><i class="fa fa-trash-o "></i></button>
</a></td></tr>';
}

Tablo halinde bu kodlar ile üyelerimi panelime listelettirdim siz kendinize göre düzenleyerek yapabilirsiniz. Sayfadaki görüntüsü;

Şimdi silme işlemine geçelim. Silme işleminde biz üst tarafta üye silme butonunu uyesilme.php?id=(üyeid) olarak belirtmişiz. Yani silme işlemimiz uyesilme.php dosyamızda olacaktır.
Uyesilme.php dosyamıza yazacağımız kodlar ise aşağıdaki gibidir.

include "../config/config.php";
session_start();
ob_start();
if (isset($_SESSION["adminusername"])){
$id = $_GET["id"];
$sorgu = $db->prepare("SELECT * FROM uyeler Where uye_id=:id");
$sorgu->execute(array(
"id" => $id
));
$islem2 = $sorgu->fetch(PDO::FETCH_ASSOC);
if($islem2 < 1){
header("location:index.php");
}
$silme = $db->prepare("DELETE FROM uyeler where uye_id = ?");
$sil = $silme->execute(array($id));
$delete = $silme->rowCount();

if($delete){
if($sil){
echo '<div class="alert alert-success" role="alert">
<strong>Üye Silindi!</strong> Şimdi Üye Düzenleme sayfasına yönlendiriliyorsunuz
</div>';
header("refresh:2;url=uye-duzenle.php");
}
}else{
echo '<div class="alert alert-danger" role="alert">
<strong>Üye Silinemedi!</strong> Bilinmeyen bir hata oluştu. Üye düzenleme sayfasına yönlendiriliyorsunuz.
</div>';
header("refresh:2;url=uye-duzenle.php");
}
}else{
header("location:index.php");
}

İlk önce config dosyamızı çağırdık daha sonra id değerini aldık. ardından böyle bir id'li üye varmı diye bir sorgu yaptık eğer yok ise bizi anasayfaya yönlendirecek varsada işlemimize devam ettirecek.
Daha sonra ise 

$silme = $db->prepare("DELETE FROM uyeler where uye_id = ?");
$sil = $silme->execute(array($id));
$delete = $silme->rowCount();

kodumuz ile silme işlemimizi başlatmış oluyoruz. Çıktımız ise;

şeklinde olacaktır.

Kısaca anlatmaya çalıştım umarım anlamışsınızdır. Yakında videolu anlatımlara geçeceğim orda daha detaylı bir şekilde anlatmaya çalışacağım. Bir sonraki dersimizde görüşmek üzere. 

İyi günler.

Hiç yorum yok :

Yorum Gönder

b2b yazılım vois media