Javascript 如何在diff textareas中显示php获取的值?
我试图从数据库中读取值。当我单击selectpicker时,根据selectpicker的EmpId,我将从表中读取名称和sal,并希望在文本区域中显示名称和sal 我只做了以下几点: 下面是HTML代码Javascript 如何在diff textareas中显示php获取的值?,javascript,php,jquery,html,bootstrap-4,Javascript,Php,Jquery,Html,Bootstrap 4,我试图从数据库中读取值。当我单击selectpicker时,根据selectpicker的EmpId,我将从表中读取名称和sal,并希望在文本区域中显示名称和sal 我只做了以下几点: 下面是HTML代码 <div class="form-group"> <!--<span class="input-group-addon icon-color"><i class="glyphicon glyphicon-home"></i><
<div class="form-group">
<!--<span class="input-group-addon icon-color"><i class="glyphicon glyphicon-home"></i></span>-->
<small>Employee Id</small>
<select class="form-control selectpicker" autocomplete="on" data-live-search="true" id="IEmpId" name="NEmpId" tabindex="1" >
<option disabled selected>--- Employee Id --- </option>
<?php echo fxn_empId(); ?>
</select>
</div>
</div>
<div class="col-xs-12 col-sm-4 col-md-4">
<div class="form-group">
<small>Employee Name</small>
<input type="text" name="NEmpName" id="IEmpName" class="form-control" placeholder="Employee Name">
</div>
</div>
<div class="col-xs-12 col-sm-4 col-md-4">
<div class="form-group">
<small>Basic Salary</small>
<input type="text" name="NBasicSal" id="IBasicSal" class="form-control" placeholder="Basic Salary">
</div>
</div>
下面是PHP的代码
if(isset($_POST["lEmpId"])){
$lEmpId = $_POST["lEmpId"];
$Lquery = "SELECT CONCAT(FName,' ', LName) as Name FROM tblempregistration WHERE EmpId = '$LDesgId'";
$query_result = mysqli_query($conn, $Lquery);
if(mysqli_num_rows($query_result) > 0){
while($row = mysqli_fetch_array($Lquery_result)){
echo '<input type="text" name="NEmpName" value=' .$row[''
}
我不知道下一步该怎么办
有什么建议吗???您正在回传一些HTML以响应ajax请求。但是你除了回显返回的字符串外,什么也不做。但是,页面上已经存在同名的文本框,因此再次返回文本框是有意义的。您真正想要做的是返回数据值本身,然后使用JavaScript将值放入页面中适当的现有字段中 我想你可以这样做: 1在PHP端,返回编码为JSON的数据库行:
if ($row = mysqli_fetch_array($Lquery_result)) {
echo json_encode($row);
}
2在客户端,以JSON形式接收ajax响应,提取值并将其放置在HTML中的适当位置。在这种情况下,您希望将它们作为值添加到文本框中:
var lcl_switchID = "1";
$.ajax({
url :"script_emp-timiesheet.php",
method :"POST",
data :{lEmpId:lEmpId, data:lcl_switchID},
dataType: "json", //tell jquery to expect JSON back from the server
success:function(data){
$("#IEmpName").val(data.FName);
}
});
您可以对其他字段执行类似操作。我不知道他们的确切名字,所以不能给出一个确切的例子
注意:如果客户端代码因为找不到正确的字段而无法工作,请尝试调试以查看返回数据的实际结构。您可以编写console.logJSON.stringifydata;在成功函数中,然后使用浏览器控制台检查实际的数据结构,然后相应地调整jQuery代码以读取数据字段。为什么您的php在页面上添加输入元素?是否存在特定问题,或者您只是想知道下一步要做什么?下一步要做什么。。。有什么建议吗?:改进代码缩进,采取预防措施删除SQL注入的当前漏洞,修复$row中未闭合的方括号[,修复最后一个block 3 open中缺少的右括号,只有1个关闭,然后决定下一步要做什么,试试看,如果遇到某个问题,可以问一个问题。我更改为$lEmpId=$\u POST[lEmpId]$Lquery=从tblempregistration中选择FName,其中EmpId='lEmpId';$query\u结果=mysqli\u查询$conn,$Lquery;如果mysqli\u num\u行$query\u结果>0{而$row=mysqli\u fetch\u数组$query\u结果{echo}但是在text*中没有输出,其中EmpId='$lEmpId',我可以看到完整的echo语句,在JQuery的警告下使用正确的名称..但是文本框仍然是空的,我从你那里学到了新的东西。我认为这对我的所有页面都有很大帮助..非常感谢。@Partap没问题,很乐意帮助。这是一种非常常见的方法来做这种事情任务,所以是的,这将是你在未来经常使用的东西,我想。共享你的电子邮件ID,我知道我需要同样的东西,反之亦然..意味着从JQuery发送多个值到PHP,并保存在一个简短的数据库。如果我面临一个问题,我会提出查询,我会发送你的链接mail@Partap无意冒犯,但我不提供我的电子邮件地址我在网上不认识的人。如果你有一个新问题,我很乐意回答,如果你把它贴在某某或其他人身上。如果你在这里提供一个问题的链接,我会尽快查看
var lcl_switchID = "1";
$.ajax({
url :"script_emp-timiesheet.php",
method :"POST",
data :{lEmpId:lEmpId, data:lcl_switchID},
dataType: "json", //tell jquery to expect JSON back from the server
success:function(data){
$("#IEmpName").val(data.FName);
}
});