Şimdi Ara

Çoklu Checkbox Post Etme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
3
Cevap
0
Favori
582
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar 3 gündür kafayı yicem yardım lütfen.

    Sayfaya veritabanından girilen veriler geliyor ve bunları post edip ok yapmam gerekecek. Dolayısıyla çoklu post etmem gerekecek ancak post ettiğim sayfada eğer checkbox işaretli dğeilse yanlış array yapıyor. Bu konuda yardım lütfen.

    Örneğin; 3. checkbox işretledim ancak sonuçta 1. satırın karşılığı olarak geliyor. ben 3. yü işaretlersem 3. satırın sonucu olarak gelmesini nasıl sağlayabilirim.

    Çoklu Checkbox Post EtmeÇoklu Checkbox Post Etme

    Kodlar burada:

    <form name="grform" method="post" action="grkaydet.php">
    <?php
    echo "<input type='hidden' name='batchnum' value='$batchnum'>";



    while ($b=mysql_fetch_array($verilericek)){
    $no =$b['no'];
    $urunkodu =$b['urunkodu'];
    $winskodu =$b['winskodu'];
    $batchnum =$b['batchnum'];
    $processorder =$b['processorder'];
    $Tarih =$b['Tarih'];
    $palet =$b['paletno'];
    $kolitoplam=$b['kolison'];
    $kolibaslangic =$b['kolibas'];
    $kolison =$b['kolison'];
    $Boxnr =$b['Boxnr'];
    $personel =$b['personel'];
    $durum =$b['durum'];
    if($durum=="1") {
    $durum1 = '<center><img src="../resim/ok.png"></center>';
    }else {
    $durum1 = '<center>
    <input type="checkbox" name="grbutton[]" value="1"/>
    </center>';
    };



    echo "<tr>
    <input type='hidden' name='no[]' value='$no'>

    <td>$Tarih</td>
    <td>$palet<input type='hidden' name='palet[]' value='$palet'></td>
    <td>$kolibaslangic</td>
    <td>$kolison</td>
    <td>$personel</td>
    <td>$durum1</td>

    </tr>";

    }



    if (mysql_error()) { echo ("MySQL hatası oluştu. Hata: ");
    echo mysql_error() ;
    }

    ob_end_flush()

    ?>
    <br>
    <tr>
    <td colspan="5">
    </td>

    <td>
    <input type="submit" name="buton" value="Kaydet" />
    </td>
    </tr>

    </form>


    Sonuç Sayfası:


    <?php


    // Create connection
    foreach ($_POST['no'] as $i => $no) {
    $durum= $_POST['grbutton'][$i];
    $palet= $_POST['palet'][$i];
    if (!$no)
    continue;



    echo "ID:$no, Checkbox: $durum <br>";
    }


    $conn->close();
    ?>







  • Kodların içinde checkbox kullanılan tek yer;

    $durum1 = '<center>
    <input type="checkbox" name="grbutton[]" value="1"/>
    </center>';


    Bu ifade bir while döngüsü içerisinde böylece birden çok checkbox oluşturuluyor. Ama hepsinde de value="1" . Bu karışıklığa neden olmaz mı? Buna bir değişken verilmeli değil miydi?

    Kodlarında veritabanından gelen bir çok değişken var. Ben bunları kafa karıştırmaması için örnek kodlarda göstermedim. Verdiğim örneği inceleyerek kendi kodlarına uygun hale getirebilirsin.

    Aşağıda çoklu checkbox post etme ile ilgili senin kodlarına benzer bir kod yazdım. Bu kodları bir dosyaya kaydederek (mesela deneme.php) localhost'ta çalıştırıp işleyişini görebilirsin. Kolay gelsin.

    <form method="post"> 
    <?php
    for ($z=1; $z <10 ; $z++)
    {
    echo'<input type="checkbox" value="'.$z.'" name="grbutton[]" />';
    }
    ?>
    <input type="submit" name="buton" value="Kaydet">
    </form>

    <?php
    if(isset($_POST['buton']))
    {
    $grbutton = $_POST['grbutton'];

    foreach ($grbutton as $grbuttons=>$i) {
    echo "Checkbox : ".$i."<br />";
    }
    }
    ?>




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.