php-ajax多重插入ı;需要
Görev süresi:php-ajax多重插入ı;需要,php,sql,ajax,Php,Sql,Ajax,Görev süresi: 问题:循环内部代码 解决方案:将js代码移出循环以避免多个实例, 对所有按钮使用一个类 <?php session_start(); include('baglanti.php'); include('fonksiyonlar.php'); $kid=$_SESSION['kullanici_adi']; getir_kullanici($kid); $k_id=$getir['kid']; $is_id
-
问题:循环内部代码 解决方案:将js代码移出循环以避免多个实例, 对所有按钮使用一个类
添加btn类<?php session_start(); include('baglanti.php'); include('fonksiyonlar.php'); $kid=$_SESSION['kullanici_adi']; getir_kullanici($kid); $k_id=$getir['kid']; $is_id=$_POST['is_id']; $sql = "insert into kullanici_is(is_ilan_id,kullanici_id,is_baslangic_tarih,is_durum) values ('$is_id','$k_id','".date("Y-m-d H:i:s")."',1)"; if (mysqli_query($conn, $sql)) { echo json_encode(array("statusCode"=>1)); } else { echo json_encode(array("statusCode"=>0)); } mysqli_close($conn); ?>
$('.btn_class').on('click', function() { // now only the specific btn is clicked $(this).val(); // will be of the clicked btn ... }
请显示用于创建表单的PHP以及用于处理提交数据的PHP。您能再次控制吗?请检查开发人员工具中的网络选项卡/XHR,如果您看到8个请求,则说明您的选择器错误,使用类作为选择器,然后单击事件,this.val将为所有按钮提供相同id的特定值。所有元素必须具有唯一id。很有可能这就是问题所在。所有元素都必须有唯一的id。是的,现在。可以接受id。这个变量是,id=$(this.val();但是ajax出现了8次,因为ıhave 8 jobıhave 8 buttonı如何插入这个唯一的ID?这与在上执行
你应该把你的js代码移到循环外,然后它就会工作。我刚才注意到,你的函数在循环内,这使得它有8次,所以当你想要一个动态的或通用的函数时,一次点击就会触发8次,比如8个按钮,但相同的动作,你只需要该函数的一个实例。@AhmedSunny我的眼睛:(抱歉:)看到了。谢谢你,我的朋友解决了:)@AhmedSunny你应该更改答案中的代码以反映实际的解决方案$('button')没有什么不同('click'…
$('.btn_class').on('click', function() { // now only the specific btn is clicked $(this).val(); // will be of the clicked btn ... }
<form method="POST" id="degerler"> <button type="button" name="buton<?php echo $oku->is_ilanlari_id; ?>" value="<?php echo $oku->is_ilanlari_id; ?>" class="btn btn-secondary btn-lg btn-block btn_class">KORUMAYA BAŞLA </button> </form>
<div class="row"> <?php $sql=mysqli_query($conn,"select * from is_ilanlari"); while($oku=mysqli_fetch_object($sql)) { ?> <div class="col-md-4"> <aside class="profile-nav alt"> <section class="card"> <div class="card-header user-header alt bg-dark" > <div class="media"> <a href="#"> <img class="align-self-center rounded-circle mr-3" style="width:100px; height:100px;" alt="" src="images/korucanta.jpg"> </a> <div class="media-body"> <h2 class="text-light display-6" style="size:10px;"><?php echo $oku->is_ilanlari_baslik; ?></h2> <p>Görev süresi : <?php echo $oku->is_ilanlari_bekleme_suresi; ?></p> <div class="h4 mb-0" style="float:right;"></div> </div> </div> </div> <ul class="list-group list-group-flush"> <li class="list-group-item"> <a href="#"> <i class="fa fa-money"></i><b> Para kazancı </b> <span class="badge badge-primary pull-right"> <?php echo $oku->is_ilanlari_kazanc; ?></span></a> </li> <li class="list-group-item"> <a href="#"> <i class="fa fa-plus-circle"></i><b> XP kazancı </b> <span class="badge badge-danger pull-right"><?php echo $oku->is_ilanlari_bp; ?></span></a> </li> <li class="list-group-item"> <a href="#"> <i class="fa fa-clock-o"></i><b> Görev süresi</b> <span class="badge badge-danger pull-right" style="background-color:#35dccd; height:28px; text-color:white;"> <p id="kutu1"><?php echo number_format($oku->is_ilanlari_bekleme_suresi); ?></p></span></a> </li> <li class="list-group-item"> <form method="POST" id="degerler"> <button type="button" name="buton<?php echo $oku->is_ilanlari_id; ?>" value="<?php echo $oku->is_ilanlari_id; ?>" class="btn btn-secondary btn-lg btn-block">KORUMAYA BAŞLA </button> </form> </li> </ul> </section> </aside> </div> <?php } ?> </div> // move script outside the loop <script> $(document).ready(function() { $('button').on('click', function() { $("button").attr("disabled", "disabled"); var is_id = $(this).val(); if(is_id!=""){ $.ajax({ url: "isbaslat.php", type: "POST", data: { is_id: is_id }, cache: false, success: function(dataResult){ var dataResult = JSON.parse(dataResult); if(dataResult.statusCode==1){ //$("button").removeAttr("disabled"); $('#degerler').find('input:text').val(''); $("#success").show(); $('#success').html('İş Başladı !'); console.log("b"); } else if(dataResult.statusCode==0){ alert("Error occured !"); } } }); } else{ alert('Please fill all the field !'); } }); }); </script>