【发布时间】:2016-02-11 19:39:48
【问题描述】:
我有以下问题,我的 php 代码从 dB 获取所需的数据:
<?php
require('dB_connect.php');
$reportID = intval($_GET['q']);
$sql = "SELECT nmech, nelect, nplant, ncivil FROM `flashreport` WHERE ID = '".$reportID."'";
$result = mysqli_query($dbc, $sql);
$emparray = array();
while($row =mysqli_fetch_assoc($result))
{
$emparray[] = $row;
}
file_put_contents("newport.json", json_encode($emparray,JSON_FORCE_OBJECT));
mysqli_close($dbc);
?>
如您所见,这会写入 json 文件 - 结果:
{"0":{"nmech":"2.00","nelect":"2.00","nplant":"2.00","ncivil":"2.00"}}
当我使用以下 js 代码从 json 文件中提取时:
$.getJSON('newport.json', function(data) {
console.log(data);
使用 chrome 的控制台日志显示如下:
[Object]
0: Object
nmech: "3.00"
__proto__: Object
length: 1
只显示第一个键/值对而不是所有 4 K/V 对?有人可以解释一下我做错了什么吗?
【问题讨论】:
-
试试
console.log(data[0]); -
你检查过file_put_contents是否成功了吗?您只是假设已写入更新的 json 文件。
-
您在执行控制台日志和文件时的示例中的 nmech 值不正确。
-
试过 console.log(data[0]);结果是对象 {nmech: "3.00"}
-
@themightysapien - 先生,您能详细说明一下吗?
标签: javascript php mysql json