• 20-09-2023, 17:01:12
    #1
    Merhaba, toplantı tutanağı üzerine bir panel geliştiriyorum. Toplantı tutanak formunu oluşturduktan sonra yoklama alıyorum. Toplantıya katıldı katılmadı şeklinde. Bunu da checkbox üzerinden yapmak istiyorum ama bir türlü olmadı. Veri tabanına array olarak kaydoluyor.

    Kullandığım kodlar bu şekilde. Sanırım insert ederken hata yapıyorum ama çözemedim yardımcı olur musunuz?
                    <!-- Toplantı Katılım Yoklaması Ekle -->
                    <div class="modal fade" id="yoklamaEkle" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
                        <div class="modal-dialog modal-dialog-centered" role="document">
                            <div class="modal-content">
                                <form action="../netting/islem.php" method="POST" enctype="multipart/form-data">
                                    <div class="modal-header">
                                        <h5 class="modal-title" id="exampleModalCenterTitle">Toplantı Katılım Yoklaması</h5>
                                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                            <span aria-hidden="true">&times;</span>
                                        </button>
                                    </div><br>
                                    <div class="col-lg-12 col-md-12">
    
                                        <?php
    
                                        while($uyelercek=$uyelersor->fetch(PDO::FETCH_ASSOC)) {
    
                                        
    
                                            ?>
                                            <div class="fancy-checkbox">
                                    
                                                <label><input type="checkbox" name="uye_id[]" value="<?php $uyelercek['uye_id']; ?>"><span><?php echo $uyelercek['uye_adSoyad']; ?></span></label>
                                            </div>
    
    
                                        <?php } ?>
    
                                        <input type="hidden" name="tutanak_id" value="<?php echo $tutanakcek['tutanak_id']; ?>">
                                        
                                        <input type="hidden" name="get_url" value="<?php echo "http://".$_SERVER['HTTP_HOST']."".$_SERVER['REQUEST_URI'].""; ?>">
    
                                    </div>
                                    <div class="modal-footer">
                                        <button type="submit" class="btn btn-round btn-success" name="yoklamaEkle">Yoklamayı Kaydet</button>
                                    </div>
                                </form>
                            </div>
                        </div>
                    </div>
    if (isset($_POST['yoklamaEkle'])) {
    
    
        $get_url=$_POST['get_url'];
    
    
        $yoklamaekle=$db->prepare("INSERT INTO yoklama SET
            tutanak_id=:tutanak_id,
            uye_id=:uye_id
            ");
        
        $insert=$yoklamaekle->execute(array(
            'tutanak_id' => $_POST['tutanak_id'],
            'uye_id' => $_POST['uye_id']
        ));
    
    
        if ($insert) {
    
            header("location:$get_url?durum=ok");
    
        } else {
    
            header("location:$get_url?durum=no");
    
        }
    }



  • 20-09-2023, 17:02:57
    #2
    Merhaba chekbox'ın name değerinde array olarak göndermişsiniz. Yalnızca uye_id yazın.
  • 20-09-2023, 17:04:56
    #3
    efekoca adlı üyeden alıntı: mesajı görüntüle
    Merhaba chekbox'ın name değerinde array olarak göndermişsiniz. Yalnızca uye_id yazın.
    Ama birden fazla seçip göndermek istiyorum.
  • 20-09-2023, 17:05:33
    #4
    $uye_ids=implode(",",$_POST['uye_id]); bu kodu yukarı yazdıktan sonra, $_POST['uye_id] kısmına , $uye_ids degerini ekleterek dermisiniz
  • 20-09-2023, 17:08:13
    #5
    HasanAB adlı üyeden alıntı: mesajı görüntüle
    Ama birden fazla seçip göndermek istiyorum.
    O zaman veriyi istediğiniz şekilde yönetin.
    $_POST['uye_id'] şu şekilde döner: array("veri1", "veri2", ...); buna göre ayarlama yapabilirsiniz.
  • 20-09-2023, 17:09:31
    #6
    Tam emin değilim ama dizi olarak [] yazman gerekiyor bu şekilde multiple olarak gönderim sağlamak için name'de.
  • 20-09-2023, 17:14:20
    #7
    netlook adlı üyeden alıntı: mesajı görüntüle
    $uye_ids=implode(",",$_POST['uye_id]); bu kodu yukarı yazdıktan sonra, $_POST['uye_id] kısmına , $uye_ids degerini ekleterek dermisiniz
    Bu şekilde mi demek istediniz?
    if (isset($_POST['yoklamaEkle'])) {
    
    
        $get_url=$_POST['get_url'];
        $uye_ids=implode(",",$_POST['uye_id']);
    
        $yoklamaekle=$db->prepare("INSERT INTO yoklama SET
            tutanak_id=:tutanak_id,
            uye_ids=:uye_ids
            ");
    
    
    
        $insert=$yoklamaekle->execute(array(
            'tutanak_id' => $_POST['tutanak_id'],
            'uye_id' => $uye_ids
        ));
    
    
        if ($insert) {
    
            header("location:$get_url?durum=ok");
    
        } else {
    
            header("location:$get_url?durum=no");
    
        }
    }
  • 20-09-2023, 17:15:04
    #8
    HasanAB adlı üyeden alıntı: mesajı görüntüle
    Bu şekilde mi demek istediniz?
    if (isset($_POST['yoklamaEkle'])) {
    
    
        $get_url=$_POST['get_url'];
        $uye_ids=implode(",",$_POST['uye_id']);
    
        $yoklamaekle=$db->prepare("INSERT INTO yoklama SET
            tutanak_id=:tutanak_id,
            uye_ids=:uye_ids
            ");
    
    
    
        $insert=$yoklamaekle->execute(array(
            'tutanak_id' => $_POST['tutanak_id'],
            'uye_id' => $uye_ids
        ));
    
    
        if ($insert) {
    
            header("location:$get_url?durum=ok");
    
        } else {
    
            header("location:$get_url?durum=no");
    
        }
    }
    evet bu şekilde hocam
    Edit: Eğer bir toplantı için her üyenin id sini farklı satırda kaydettirmek isterseniz farklı bir yöntem uygulamak gerekir. Bu işlem Toplantı id si 30 olan satıra uye id lerini 34,56,23 şeklinde kayıt edecektir.
  • 20-09-2023, 17:15:06
    #9
    rufiqcavadov adlı üyeden alıntı: mesajı görüntüle
    Tam emin değilim ama dizi olarak [] yazman gerekiyor bu şekilde multiple olarak gönderim sağlamak için name'de.
    name kısmını [] ekledim ama olmadı