javascript - 如何从 MYSQL 反序列化查询结果?

标签 javascript php jquery ajax serialization

我的代码现在的样子

 $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/

相关文章:

javascript - 如何更改 CSS where id=array(index)?

javascript - for循环不增加i

javascript - 理解transit.js中简单的return this

php - Magento 获取要显示在购物车上的缩略图 URL

php - 如何在 `collection` 字段 Symfony 2.1 中将选项传递给 CustomType?

javascript - JQuery - 项目的当前表行

javascript - 使用 javascript 删除 html

PHP mysql 结果问题

javascript - jQuery 等待两个触发器

javascript - 如何隐藏 Kendo UI Scheduler 小部件上时间线月份 View 的时间标题?