php将11视为1

ao218c7q  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(384)
function zwrot() {
   var zwrot = document.getElementsByClassName("zwroc");
   var i;
   for (i = 0; i < zwrot.length; i++) {
      if(zwrot[i].checked){
        parseInt(zwrot[i])
        var ajax = $.ajax({
            url: 'php/request.php',
            type: 'POST',
            data: {zwrot: zwrot[i].value},
            success: function(data)
            {
               $.growl.notice({ 
                    title: "INFO", 
                    message: "Oddano książkę" });
            }
        })
      }
   }
   setTimeout(function() { 
                  location.reload()
              }, 2000
   );
}

php代码:

if(isset($_POST['zwrot'])) { 
      $zwrot=$_POST['zwrot']; 
      $n = count($zwrot); 
      for ($i=0;$i<$n; $i++){ 
           $data=date("d-m-Y"); 
           $zapytanie5 = mysqli_query ($link, "UPDATE zamowienie SET data_zwrotu='$data' WHERE id_zamowienie=$zwrot[$i]"); 
           $zapytanie6 = mysqli_query ($link, "UPDATE ksiazka INNER JOIN zamowienie ON ksiazka.id_ksiazka=zamowienie.id_ksiazka SET ilosc=ilosc+1 WHERE id_zamowienie=$zwrot[$i];");
      }
}

一切正常,直到id是一位数字。问题出现在两位数上,例如,php将11视为1

dy1byipe

dy1byipe1#

我不认为您正在传递任何数组到您的php。这不是通过ajax传递和接收数组的方式,如果有,需要json。
不管怎样,试试这个:

if(isset($_POST['zwrot'])) { 

    $zwrot=$_POST['zwrot']; 

    $data=date("d-m-Y"); 
    $zapytanie5 = mysqli_query ($link, "UPDATE zamowienie SET data_zwrotu='$data' WHERE id_zamowienie=$zwrot"); 
    $zapytanie6 = mysqli_query ($link, "UPDATE ksiazka INNER JOIN zamowienie ON ksiazka.id_ksiazka=zamowienie.id_ksiazka SET ilosc=ilosc+1 WHERE id_zamowienie=$zwrot;");

}

或者如果要通过数组传递:

function zwrot() {
   var zwrot = document.getElementsByClassName("zwroc");
   var i;

   var zwrot_array = [];

   for (i = 0; i < zwrot.length; i++) {
      if(zwrot[i].checked){
        zwrot_array[i] = zwrot[i].value;
      }
   }

   var ajax = $.ajax({
        url: 'php/request.php',
        type: 'POST',
        data: {zwrot: JSON.stringify(zwrot_array)},
        success: function(data)
        {
           $.growl.notice({ 
                title: "INFO", 
                message: "Oddano książkę" 
            });

            setTimeout(function() { 
                  location.reload()
              }, 2000
           );
        }
    });
}

PHP:

if(isset($_POST['zwrot'])) { 

    $zwrots = json_decode($_POST['zwrot']); 
    $data=date("d-m-Y"); 

    foreach ($zwrots as $zwrot) {
        $zapytanie5 = mysqli_query ($link, "UPDATE zamowienie SET data_zwrotu='$data' WHERE id_zamowienie=$zwrot"); 
        $zapytanie6 = mysqli_query ($link, "UPDATE ksiazka INNER JOIN zamowienie ON ksiazka.id_ksiazka=zamowienie.id_ksiazka SET ilosc=ilosc+1 WHERE id_zamowienie=$zwrot;");
    }
}

相关问题