как выполнить обновление в MySQL с помощью checkbox

#javascript #jquery

#javascript #jquery

Вопрос:

Я хотел бы знать, как выполнить многократное обновление в MySQL с checkbox помощью, потому что я не получаю id атрибут checkbox , кто-нибудь мог бы мне помочь?

HTML-код

 <form method="post" action="../sys/fav.php">
        <input type="hidden" id="id_photo" name="id" value="">

          <div class="col-md-12">
            <p align="right"><button class="btn btn-primary" id="final" name="final">Send</button></p>
            </div>
          <?php 

          require "../sys/connect.php";
          $email = $_GET['email'];

          $sql = mysqli_query($mysqli, "SELECT * FROM gallery WHERE email ='$email'");
          while($row = mysqli_fetch_array($sql)){
            $id = $row['id'];
            $name = $row['nome_galeria'];
            $emailcontact = $row['email_contact'];
            $pass = $row['pass'];
            $email = $row['email'];
            $img = $row['img'];

            print"<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
              <input type="hidden" name="contact" value="$emailcontact">
              <input type="hidden" name="login" value="$email">
              <input type="hidden" name="pass" value="$pass">
              <input type="hidden" name="name" value="$name">
              <div class="hovereffect">
                  <img id="he" class="img-responsive" src="../images/images/gallery/big/$img" alt="$name">
                  <div class="overlay">
                     <div class="btn-group" data-toggle="buttons">
                        <label class="btn btn-primary cke">
                          <input type="checkbox" name="ck[]" class="ck" value="not" id="ck_$id"><i class="fa fa-heart"></i>
                        </label>
                     </div>
                  </div>
              </div>
          </div>";

          }

          mysqli_close($mysqli)
          ?>
          </form>
  

PHP-код

 require "conexao.php";

    if(isset($_POST['final'])){
        $id = $_POST['id'];
    foreach($_POST['ck'] as $ck){
        $check = $ck;
        $sql = mysqli_query($mysqli,"UPDATE gallery SET fav = '$check' WHERE id = '$id'")or die(mysqli_error($mysqli));
    }

    if($sql)
          echo "Success!";
        else
          echo "Fail!";
   }
  

Код, Js чтобы получить id из checkbox

 $("#final").click(function(){
          var str = "";
            var boxes = $(".ck");
            for(var i = 0; i< boxes.length; i  ){
              if(boxes[i].checked == true){
                var tmp = boxes[i].id.split("_");
                str =(i ? "," : "") tmp[1];
              }
            }
            document.getElementById('id_fotos').value=str;

        });
  

Ответ №1:

Вы можете получить значения checkbox, используя приведенный ниже код, и передать через ajax

 var ckArray = new Array();
$.each($('input[name="ck[]"]:checked'), 
    function(index, ele){
        ckArray.push($(ele).val());
    });
  

Комментарии:

1. Мне не нужно добавлять функцию в jquery для получения значений checkbox, мой foreach php уже делает это настолько точно, исправляет идентификатор для его обновления, поскольку у меня также есть функция jquery, которая принимает идентификатор checkbox и помещает значение во вход, скрытый