这是我想要做的。我想检索所有具有特定参考编号的名称和细节。所以我正在使用while循环。但我不知道我如何编码这些值并检索它们,以便我可以在ajax中使用它们显示它们。另一个问题是我已经有一个json编码的数组,我想要检索这些值。所以我想使用json编码检索两个数组。 这是代码 -
$sql = "SELECT * From (select * from tran ORDER BY id DESC LIMIT 1) AS name ORDER BY id LIMIT 1";
$result = mysqli_query($conn,$sql);
$rows1 = mysqli_fetch_assoc($result);
$master_ref_no = $rows['master_tran_ref'];
$sql = "SELECT * FROM stk WHERE tran_ref = '$ref_no'";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_assoc($result)){
$name = $row['name'];
$tot = $row['tot'];
$data[] = ["pname" => $name,"ptot"=>$tot];//but i dont know how do i retrieve this and use it in ajax.
}
$response = ["success" => true, "date" => $rows1['date'], "v_no" => $rows1['v_no'], "types" => $rows1['v_type']]; // this is working perfectly fine.
header('Content-type: application/json');
echo json_encode($response);
这就是我在ajax中使用它来在html表中显示的方式 -
$.ajax({
type: "POST",
url: "demopost.php",
data: formData,
success: function(response){
if (response.success) {
$('#datepreview').val(response.date);
$('#v_nopreview').val(response.v_no);
$('#typepreview').val(response.types);
$('#entrysavedmodal').modal('show');
} else {
alert("failure in");
}
},
error: function(){
alert("failure out");
}
});
所以,请帮助我如何json编码从while循环中检索到的所有值,并将它们与其他数组一起包含,即。响应并在ajax中使用它们。 提前谢谢。
答案 0 :(得分:1)
JSON数组也可以是多维的,因此您可以将$data
数组放入$results
并将其传递给它,如下所示:
$response = ["data" => $data, "success" => true, "date" => $rows1['date'], "v_no" => $rows1['v_no'], "types" => $rows1['v_type']];
然后你的输出会有这样的结构:
{
data: {
0: {
pname: value1
ptot: value2
},
1: {
pname: value3
ptot: value4
}
},
success: true,
//rest of values here
}
因此,要访问value3,您的jQuery看起来像
results.data.1.pname
然后,您可以遍历results.data
级别以获取所有pname / ptot对,或者在编码之前在PHP代码中对其进行重组。