php - 如何在 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>
解决方案
您需要使用 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();
});
});
推荐阅读
- c# - 相同的代码在不同的环境下工作方式不同(响应头没有 Content-length)
- sql - 为什么我的 SQL 脚本选择了太多的输出 (CS50 pset7 sql.13)?
- apache-spark - 当我的函数调用另一个函数时未定义“sqlContext”
- python - 你知道任何比 Python 的 aiohttp 更快的 HTTP 请求库吗?
- oauth-2.0 - 将 OAuth 2.0 与 Exchange Web 服务结合使用
- php - MySql 通过 user_id 获取页面列表,或者如果未定义 user_id 获取所有页面
- docker - Docker 中的 Cassandra 和版本控制
- excel - 将数字连续添加到每一列
- javascript - React - useContext 返回未定义
- sql - 来自两个具有最大值(时间戳)的表的新表 - Bigquery SQL