我的代码现在的样子
$client = $_GET['client_number_search'];
$sql=("SELECT * FROM tobytemp.fcl_reports WHERE client_number = '" . $client . "'");
$result = $dbLink->query($sql);
$arr = array();
while ($r = $result->fetch_object()) {
$temp=[
"client_number" => $r->client_number,
"client_name" => $r->client_name,
"service" => unserialize($r->service),
"volume" => $r->volume,
"deliver_point" => $r->deliver_point,
"port_orgin" => $r->port_orgin,
"size" => $r->size
];
array_push($arr,$temp);
}
echo json_encode($arr);
/* ERROR
Request Method:GET
Status Code:500 Internal Server Error
*/
当前数据填充在我的表中,如下所示 -
service - a:2:{i:0;s:6:"Inport";i:1;s:6:"Export";}
我希望它显示类似 -
Service-
Import
Export
(我无法在我的 clientreports.html
页面上使用 PHP,因为我想稍后将其用作电话间隙上的应用程序)。
AJAX 调用 (clientreports.html)
<script type="text/javascript">
$("#show_clientx").click(function(e) {
$("table#client_profile").empty();
$.ajax({
url: "http://cmlsys/toby/client_profile.php?client_number_search=" + $("#client_number").val(),
type: "GET",
dataType: "json",
success: function(html) {
// $("table#client_profile").append('<tr><th>Client Number</th><th>Client Name</th><th>Address</th></tr>');
jQuery.each(html, function(key, value) {
$("table#client_profile").append('<tr><td>' + value.client_number + '</td><td> client_name - ' + value.client_name + '</td></tr><tr></br><td>service - ' + value.service + '</td></br><td>size - ' + value.size + '</td></br><td>volume - ' + value.volume + '</td></br><td>deliver_point -' + value.deliver_point + '</td></br><td>port_orgin - ' + value.port_orgin + '</td></tr>');
});
},
error: function(e) {
console.log("Error: " + e);
}
});
});
</script>
收件人 - client_profile.php
$client = $_GET['client_number_search'];
$sql = ("SELECT * FROM tobytemp.fcl_reports WHERE client_number = '".$client.
"'");
$result = $dbLink - > query($sql);
$arr = array();
while ($r = $result - > fetch_object()) {
array_push($arr, array("client_number" => $r - > client_number, "client_name" => $r - > client_name, "service" => $r - > service, "size" => $r - > size, "volume" => $r - > volume, "deliver_point" => $r - > deliver_point, "port_orgin" => $r - > port_orgin));
}
echo json_encode($arr);
请帮忙
最佳答案
在 php 中使用反序列化
例如
$demo=unserialize('a:2:{i:0;s:6:"Inport";i:1;s:6:"Export";}');
echo json_encode($demo);
在您的代码中,您可以更改 while 循环
while ($r = $result->fetch_object()) {
$temp=[
"client_number" => $r->client_number,
"client_name" => $r->client_name,
"service" => unserialize($r->service),
"volume" => $r->volume,
"deliver_point" => $r->deliver_point,
"port_orgin" => $r->port_orgin,
"size" => $r->size
];
array_push($arr,$temp);
}
关于javascript - 如何从 MYSQL 反序列化查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32990379/