Php 将数据库查询结果格式化为JSON数组并读入表单
我目前有一段代码,它读取用户指定的数据库记录中的第一个字段(“myid”是一个接受数字的文本字段),并将其打印在前端表单的一个字段中 如何创建数据库中所有字段的JSON数组,然后将它们打印到相关表单字段?谢谢 后端代码Php 将数据库查询结果格式化为JSON数组并读入表单,php,ajax,database,arrays,json,Php,Ajax,Database,Arrays,Json,我目前有一段代码,它读取用户指定的数据库记录中的第一个字段(“myid”是一个接受数字的文本字段),并将其打印在前端表单的一个字段中 如何创建数据库中所有字段的JSON数组,然后将它们打印到相关表单字段?谢谢 后端代码 $id = $_POST['id']; $query = "SELECT * FROM Customers WHERE ID = '" . mysql_real_escape_string($id) . '"'; $result= mysql_query($query);
$id = $_POST['id'];
$query = "SELECT * FROM Customers WHERE ID = '" . mysql_real_escape_string($id) . '"';
$result= mysql_query($query);
if (mysql_num_rows($result) > 0) {
while($row = mysql_fetch_row($result)) {
echo $row[1];
}
}
else {
// no
// print status message
echo "No rows found!";
}
前端代码
可以使用函数json_encode()将数组转换为json格式。并使用函数json_decode()将json转换为数组
您只需在函数中传递一个参数,即要编码或解码的数组。感谢您的帮助,这确实引用了记录中的每个字段,但是我想将每个字段打印到不同的文本框中。。如何做到这一点?在JS代码中,将JSON结果解析为如下对象:
var pdata=jQuery.parseJSON(数据)
并设置相应的字段值:jQuery(“input.fname”).val(pdata.first\u name)
,jQuery(“input.lname”).val(pdata.last\u name)代码>在这段代码中。。var pdata=jQuery.parseJSON(数据)…'“数据”是未定义的,这应该是数组的名称吗?是的,我知道,但是如何将数组中的每个元素放入前端的单独文本字段中?您能否以某种方式调用数组中的每个特定元素?是的,您可以使用键值访问json数组中的数据。当您从数组中访问值时。我不明白,我举个例子告诉你。如果你想要一个快速的例子就好了。我有我的数组,我只是不确定如何将它分割成单独的变量。[{“10-2”:“20”},{“11-2”:“15”},{“12-3”:“17”},{“13-4”:“10”},{“14-5”:“12”},{“15-6”:“5”}]这是一个json数组,其中{“10-2”:“20”}是一个元素,其中“10-2”是键,“20”是值。你可以通过这种方式访问。。。。回波阵列_名称[“10-2”];
jQuery(document).ready(function(){
jQuery("input.myid").keyup(function(e){
e.preventDefault();
ajax_search();
});
});
function ajax_search(){
var search_val=jQuery("input.myid").val();
jQuery.post("find.php", {id : search_val}, function(data){
jQuery("input.fname").val(data);
}
)}
header("HTTP/1.0 200 OK");
header('Content-type: text/json; charset=utf-8');
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
if (mysql_num_rows($result) > 0)
{
while($row = mysql_fetch_row($result)) {
echo json_encode( $row );
}
}
else
{
// no
// print status message
echo json_encode( "No rows found!" );
}
die();