Merhaba..
PHP ve MYSQL ile veri tablosundaki bir kaydı silmek için DELETE komutunu kullanacağız. Tablodaki tüm verileri yada istediğimiz belirli veri veya verileri silebiliriz.. Hadi bakalım..
Öncelikle tüm veri tabanı işlemlerinde olduğu gibi veri tabanı bağlantısını yapmalıyız...
<?php
// baglan.php
$host="localhost";
$user="root";
$pass="";
$db="sitem";
//mysql bağlantı
$baglan=@mysql_pconnect($host,$user,$pass);
//veri tabanına bağlantı
$vt_baglanti=mysql_select_db($db);
//mysql türkçe problemi için
mysql_query("SET NAMES UTF8");
?>
Yukarıdaki baglan.php sayfasını , silme işlemi yapacağımız sayfaya include edeceğiz.. "Delete from tablo" yapısıyla hazırlayacağımız sql sorguları sayesinde ise tablodaki tüm kayıtları yada belirli kayıtları silebiliriz.
<?php
include ("baglan.php");
mysql_query("delete from uyeler");
?>
Yukarıda herhangi bir filtre belilrlemediğimiz için ÜYELER tablosundaki tüm veriler silinir..
<?php
include ("baglan.php");
mysql_query("delete from uyeler where id=34");
?>
Buraıda where takısından dolayı sadece id'si 34 olan kayıt silinir. Üye, kullanıcı silme gibi sadece bir kaydın silinmesi gereken durumlarda bu yapıyı tercih ediyoruz. Bu yapıda id yerine başka bir değere görede silme işlemi yapılabilir tabiki. Örneğin where adi="Yasar KEMAL" gibi..
Daha önce veri ekleme , listeleme derslerinde kullandığımız üyeler tablosunun sonuna bir sil linki eklemiştik. Kayıt silme işlemini aynı sayfada yapabileceğimiz gibi , farklı bir sayfa hazırlayarakta yapabiliriz. Önce listelediğimiz kayıtların sonuna ekleyeceğimiz linki oluşturalım.
Sil linkini oluşturuken , silinmesini istediğimiz kaydın ID'sini belirtmemiz gerekir. Burada tarayıcı mesajlarından faydalanırız. Yönlendireceğimiz adresin sonuna soru işareti "?" ekleyerek mesaj ve değer iletebiliriz. Örneğin ;
<a href="sil.php?id=34"> SİL </a>
Yukarıdaki link çalıştığında sil.php sayfasına id=34 mesajı gönderilmiş olur. Eğer linki başka bir sayfa yerine bulunduğumuz sayfaya sadece mesajla yönlendirmek istersek bu kez sadece soru işareti ile başlayan kısmı yazmamız yeterli olur.
<a href="?id=34"> SİL </a>
Bu durumda link tıklandığında sayfa yenilenerek sonuna id=34 bilgisi eklenir. Ayrıca araya & (VE) işareti ekleyerek aynı anda birden fazla mesajda gönderebiliriz.
<a href="?msj=sil&id=34"> SİL </a>
Link tıklandığında tarayıcıya 2 mesaj gönderilmiş olur; msj ve id. Peki bu mesajları sayfada nasıl alıyoruz? Bunun için PHP ile $_GET[""] metodunu kullanacağız.
<?php
if ( isset($_GET["msj"]) && isset($_GET["id"]) ) { // mesajların olup olmadığı kontrol ediliyor
$id=$_GET["id"]; // gelen id bilgisi $id değişkenine aktarılıyor..
}
?>
Php isset fonksiyonu, içine yazılan değerin olup olmadığınıo kontrol eder. Dolayısıyla yukarıdaki if bloğu ile msj ve id mesajları kontrol edilmiş olur ve eğer var iseler bu kez tarayıcıya gelen id bilgisi $id değişkenine aktarılır.
Id bilgisi alındığına göre artık veri tabanına bağlanıp silme işlemi yukarıdaki sql yapısı kullanılarak kolaylıkla yapılabilir.
<?php
include("baglan.php");
if ( isset($_GET["msj"]) && isset($_GET["id"]) ) { // mesajların olup olmadığı kontrol ediliyor
$id=$_GET["id"]; // gelen id bilgisi $id değişkenine aktarılıyor..
}
//kayıt siliniyor..
mysql_query("delete from uyeler where id=34");
?>
Yukarıdaki kod bloğu çalıştığında üyeler tablosundaki 34 id'li kayıt silinmiş olur.
Görüşmek üzrere..
Toplam 33 Makale
Lütfen yorumlarınızda saygılı, yapıcı ve anlaşılır bir dil kullanın.
Küfür, hakaret ya da spam içerikler onaylanmaz.