Merhaba arkadaşlar. Bu makalemizde php ile mysql veritabanımızdaki kayıtları checkbox'lar ile çoklu seçim yaparak silmeyi anlatacağız. Öncelikle index sayfamıza değineceğim. Sonrasında formumuzu gönderdiğimiz sil.php sayfamıza geçeceğiz.
İndex.php Sayfamız:
<form action="sil.php" method="POST">
<table border="0" id="kayitlar" cellpadding="5" width="300" cellspacing="0">
<tr id="baslik" align="left">
<td>
Seç
</td>
<td>
No
</td>
<td>
İsim
</td>
<td>
Soyisim
</td>
<td>
Tel-Numarası
</td>
</tr>
include ("db.php"); //veritabanı bağlantı sayfamız
$listele = mysql_query("SELECT * FROM bilgiler order by no asc"); //sql kodumuz
while($bas = mysql_fetch_array($listele)) //kayıt listeleme işlemi
{
$no = $bas['no'];
$ad = $bas['ad'];
$soyad = $bas['soyad'];
$tel = $bas['tel'];
echo "<tr id='liste' align='left'>
<td>";
echo "<input type='checkbox' value='".$no."' name='sil[]'>";
echo "</td>
<td>
$no
</td>
<td>
$ad
</td>
<td>
$soyad
</td>
<td>
$tel
</td>
</tr>";
}
<tr id="baslik" align="left">Öncelikle formumuzu ve tablo yapımızı oluşturduk. Sonrasında veritabanı bağlantı kodumunuzu sayfaya include ettik. Gerekli sql kodumuzu yazıp değişkenimize aktardık. Daha sonra mysql_fetch_array fonksiyonu ve while döngümüz ile ilgili veritabanı tablomuzdaki tüm kayıtlarımızı çektik ve değişkenlere aktardık. Bu değişkenler vasıtasıyla her biri bir sütuna gelecek şekilde yazdık. Satırımızın en başındaki sütuna bir checkbox ekledik ve value değerine o an çekilen kaydın no değerini atadık. Name’ine sil[] değerini atadık. Bu isimden bu işlemin dizi(array) mantığıyla işlediğini anlayabiliriz. Seçilen her kayıt “sil” dizisine bir eleman olarak ekleniyor ve POST gönderilirken dizi(array) olarak gönderiliyor. Böylelikle kayıtlar checkbox aracılığı ile seçildiğinde ve post edildiğinde sil.php sayfamıza silinmek istenilen bilginin bir nevi kimlik numarasını göndermiş oluyoruz. Sonrasında yeni bir satır oluşturarak sil butonumuzu oluşturduk. Şimdi sil.php sayfamıza geçelim.
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td align="right">
<input type="submit" value="Sil" id="silbuton">
</td>
</tr>
</table>
</form>
Sil.php Sayfamız:
include ("db.php");Öncelikle bağlantı sayfamızı include ettik. Sonra POST ile gelen değerlerin empty fonksiyonu ile boş olup olmadıklarını kontrol ettik. Eğer boş değilse post ile gelen array'i bir değişkene aktardık. Foreach döngüsü sayesinde herbir elemanı sırasıyla değişkene aktardık ve veritabanından sildik. Böylelikle makalemizinde sonuna gelmiş buluyoruz. Anlaşılmayan bir olursa yorum yolu ile sorabilirsiniz. Aşağıda db.php sayfamızın kodları da bulunmaktadır...
if (!empty($_POST["sil"]))
{
$kayitno = $_POST["sil"];
foreach($kayitno as $silin){
$sil = mysql_query("DELETE FROM bilgiler WHERE no='$silin'") or die("Silme İşlemi Gerçeklesmemistir Lütfen Tekrar Deneyiniz...");
}
}
echo "<script>location.href='index.php';</script>";
Db.php Sayfamız:
$mysql_host="localhost";
$mysql_kullaniciadi="kullaniciadi";
$mysql_sifre="sifre";
$mysql_vtadi="tablomuz";
$baglan= @mysql_connect($mysql_host,$mysql_kullaniciadi,$mysql_sifre);
mysql_query("SET NAMES UTF8");
if(! $baglan) die ("mysql bağlantısında hata oluştu");
mysql_select_db($mysql_vtadi,$baglan) or die ("veritabanına bağlanırken hata oluştu");
1 Yorum
cenk erdem
eline sağlık