REKLAM ALANI

PHP Checkbox ile çoklu seçim ve işlem uygulama

avatar TRWebmaster
Aktif Üye
307
#1
Yorumu Paylaş

Listelerde birden fazla maddeyi checkbox ile seçip toplu işlemler yapmak için bir array mantığı uygulayacağız.
 
form.php:
PHP Kod:
<form action="kontrol.php" method="post">
    <label><input type="checkbox" name="meyveler[]" value="elma"/> Elma</label><br/>
    <label><input type="checkbox" name="meyveler[]" value="armut"/> Armut</label><br/>
    <label><input type="checkbox" name="meyveler[]" value="cilek"/> Çilek</label><br/>
    <label><input type="checkbox" name="meyveler[]" value="muz"/> Muz</label><br/>
    <input type="submit" value="Tamam">
</
form

kontrol.php:
PHP Kod:
if(isset($_POST['meyveler'])) {
    $meyveler $_POST['meyveler'];
 
    
echo 'Seçtiğiniz meyveler: <br/>';
 
    
foreach($meyveler as $meyve) {
        echo ' * ' $meyve ' <br/>';
    }
} else {
    echo 'Hiç meyve seçmediniz.';


Checkboxların her birinin name yani isim değerine “meyveler[]” dedik, buradan bu olayın array mantığıyla işlediğini daha iyi anlayabilirsiniz. Böylelikle her seçilen madde “meyveler” değerine bir array elemanı olarak ekleniyor. PHP tarafına ise bu POST değişkeni array olarak gönderiliyor.
 
Daha iyi anlamak için kontrol.php en başına print_r($_POST) yazarak gelen sonucu net şekilde görebilirsiniz:
PHP Kod:
Array
(
    [meyveler] => Array
        (
            [0] => elma
            
[1] => cilek
            
[2] => muz
        
)
 



Çoklu seçilen maddeleri toplu silme uygulama

Yukarıdaki örnekte nasıl çoklu seçenek yapılacağını ve PHP’de nasıl karşılandığını örnek gösterdim. Bu yönteme bir de toptan içerik silme örneği gösterebilirim.
Bunun için ekranda veritabanından listelenmiş içerik örnekleri olduğunu varsayalım.
 
form.php
PHP Kod:
<form action="kontrol.php" method="post">
    <label><input type="checkbox" name="sil[]" value="1"/> Birinci yazının başlığı</label><br/>
    <label><input type="checkbox" name="sil[]" value="2"/> Bir diğer yazı başlığı</label><br/>
    <label><input type="checkbox" name="sil[]" value="3"/> Başka yazı</label><br/>
    <label><input type="checkbox" name="sil[]" value="4"/> Sonuncu yazı</label><br/>
    <input type="submit" value="Seçilileri sil">
</
form

Bu sefer checkboxlara “sil[]” ismini tanımladık ve değerlerine her yazının NO’sunu yazdık. Şimdi bu form ile birden fazla yazı seçildiğinde kontrol.php sayfasına silinecek yazılarının NO’sunu içeren “sil” adında bir array gönderilmiş olucak.
 
kontrol.php:
PHP Kod:
if(isset($_POST['sil'])) {
    $silinecekler implode(', '$_POST['sil']);
    mysql_query('DELETE FROM yazilar WHERE NO IN ( ' $silinecekler ' )');
    echo count($_POST['sil']) . ' adet yazı silindi.';


Bu sefer gelen arrayı implode ile birleştirdik, yani eğer 1. ve 4. yazıyı seçip formu gönderirsem $silinecekler değişkeni “1, 4” şeklinde bir değer almış olacak. Sonuç olarakta içerikleri silecek MySQL sorgumuz ise şöyle olacak “DELETE FROM yazilar WHERE NO IN ( 1, 4 )” ve bu iki seçilmiş yazıyı silmiş olacağız.
 
Bir sonraki PHP serüveninde görüşmek üzere!
deneme
Aktif Üye

Konuda Ara

0 Yorum


Konuyu Okuyanlar: