首页 > 解决方案 > 如何在 jQuery 函数中执行 PHP

问题描述

我尝试使用PHP从我的数据库中获取一些数据,以便在提交后将其插入到jQuery代码中。我没有得到结果。我知道PHP在服务器端运行,JS在客户端运行。

我尝试了使用方法,但在使用jQueryload生成一些字段后我没有得到任何结果。我应该从我的数据库中获取标签中的一些数据,但是,单击添加(按钮)字段后会动态生成,而不会从数据库中获取结果。select

$(document).ready(function() {
  var i = 1;

  $('#add').click(function() {
    i++;
    $('#dynamic_field').append('<tr id="row' + i + '"><td><input type="text" name="name[]" placeholder="Enter your Name" class="form-control name_list" /><td><input type="text" name="prenom[]" placeholder="Enter your prenom" class="form-control name_list" /></td></td><td><input type="text" name="cin[]" placeholder="Enter your cin" class="form-control name_list" /></td><td><input type="number" name="cnss[]" placeholder="Enter your cnss" class="form-control name_list" /></td><td><input type="email" name="email[]" placeholder="Enter your email" class="form-control name_list"/></td><td><select name="theme[]" class="form-control select_list" >
        <?php       
        while ($tab = mysqli_fetch_assoc($exe)) {
          echo "<option>{$tab['libelle']}</option>";
        } ?></select></td><td><button type="button" name="remove" id="' + i + '" class="btn btn-danger btn_remove"> X </button></td></tr>');
  });
});
$(document).on('click', '.btn_remove', function() {
  var button_id = $(this).attr("id");
  $('#row' + button_id + '').remove();
});

<button id="add">Add</button>
<div id="dynamic_field"></div>

标签: phpjquery

解决方案


您需要使用 ajax 正确执行 php 和 sql 查询。要使用 ajax,您需要创建另一个 php 脚本并根据您的情况创建函数,它应该是这样的。

$row = $_POST['row'];
$html =  "<tr id='row" .$row ."'><td>";
$html .=  "<input type='text' name='name[]' placeholder='Enter your Name' class='form-control name_list' /><td>";
$html .=  "<input type='text' name='prenom[]' placeholder='Enter your prenom' class='form-control name_list' /></td>";
$html .=  "</td><td><input type='text' name='cin[]' placeholder='Enter your cin' class='form-control name_list' /></td>";
$html .=  "<td><input type='number' name='cnss[]' placeholder='Enter your cnss' class='form-control name_list' /></td>";
$html .=  "<td><input type='email' name='email[]' placeholder='Enter your email' class='form-control name_list' /></td>";
$html .=  "<td><select name='theme[]' class='form-control select_list'>";

     WHILE($tab=mysqli_fetch_assoc($exe)){
    $html .=  "<option>{$tab['libelle']}</option>";
     }  
$html .=  "</select></td><td><button type='button' name='remove' id='row$row' class='btn btn-danger btn_remove'>X</button></td></tr>";
echo json_encode(array("success"=>$html));

而在你需要在你的 html 脚本或 java 脚本上创建 ajax 函数之后应该是这样的。

$(document).ready(function(){
        var i=1;

        $('#add').click(function(){
            i++;
            $.ajax({  
                url:"newCreatedScript.php",   
                type: "POST",
                data: {row:i},
                success:function(data){
                    var $response = $.parseJSON(data);
                    $('#dynamic_field').append(data.success);
                }
            });

        });

        $(document).on('click', '.btn_remove', function(){
            var button_id = $(this).attr("id"); 
            $('#row'+button_id+'').remove();
        });
    });

推荐阅读