Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-ajax多重插入ı;需要_Php_Sql_Ajax - Fatal编程技术网

php-ajax多重插入ı;需要

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

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=$_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类

    $('.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?这与在上执行
    $('button')没有什么不同('click'…
    你应该把你的js代码移到循环外,然后它就会工作。我刚才注意到,你的函数在循环内,这使得它有8次,所以当你想要一个动态的或通用的函数时,一次点击就会触发8次,比如8个按钮,但相同的动作,你只需要该函数的一个实例。@AhmedSunny我的眼睛:(抱歉:)看到了。谢谢你,我的朋友解决了:)@AhmedSunny你应该更改答案中的代码以反映实际的解决方案
    $('.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>