php - AJAX PHP JSON 编码不返回所有结果

标签 php javascript ajax json

我会简短的……我要跳了

并非所有结果都有效

在文档标题中我包含了 jquery-1.7.2.min.js -

我的查询:

"SELECT tableA.columns_xyz..., tableB.columns_xyz..., tableC.columns_xyz 
FROM tableB
JOIN tableC ON tableB.x = tableC.x
JOIN tableA ON tableB.x = tableA.x
WHERE tableA.x = '$query_value'
GROUP BY tableA.y
ORDER BY tableA.y DESC 
LIMIT 1";

问题 1:

LIMIT 1 更改为 LIMIT 5 或任何 >1 并且查询在 phpmyadmin 中执行正常但不是通过 ajax/json/php

PHP:

$sql = above...
$result = $mysqli->query($sql);
while($row = mysqli_fetch_array($result)) {
echo json_encode(array($row['x'],$row['y'],....$row['z']));
$mysqli->close();

javascript:

$.ajax ({
    url: 'script.php',
    type: "post",
    dataType: "json",
    data: {value : $("#searchbox").val()},
    success: function(data) {
        var a = parseFloat(data[0]);
        var b = parseFloat(data[1]);
        var c = data[2];

            document.getElementById("blah1").innerHTML = a;
            document.getElementById("blah2").innerHTML = b;
            document.getElementById("blah3").innerHTML = c;
       }
});

html:

<td><span id="blah1"></span></td>
<td><span id="blah2"></span></td>
<td><span id="blah3"></span></td>

问题 2:

有些元素正在打印到页面,有些则不是。我究竟做错了什么 ?

问题 3:

我知道我应该能够将 document.getElementById("blah1").innerHTML; 表达为 $('#blah1'); 但是 $ ('#blah1'); 只是不工作...我不知道为什么...

最佳答案

将每一行存储在一个数组中,然后使用 json_encode 一次:

$store = array();
while($row = mysqli_fetch_array($result)) {
    $store[] = array('x'=>$row['x'], 'y'=>$row['y'], 'z'=>$row['z']);
}
echo json_encode($store);

然后你可以在客户端使用JSON.parse:

var store = JSON.parse(data)

然后循环遍历:

for(var x in store){
    $('#blah1').html(store[x]['x']);
}

你已经在使用 jquery 那么为什么不通过转换它来充分利用它:

document.getElementById("blah1");

到它的 jquery 版本:

$('#blah1');

只需确保这些元素是唯一的,因为您使用的是 ID

关于php - AJAX PHP JSON 编码不返回所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11483417/

相关文章:

php - 关于AJAX安全问题请咨询

javascript - jQuery 仅删除第一个 div 一次

php - WordPress "s"查询 $args 中有几个关键字

PHP 可捕获 fatal error : Object of class could not be converted to string

php - 如果 $id 是 = $id/使 css 类消失

php - MySQL join——分类表与数据表结合

javascript - 在字段输入/表单中按顺序生成数字

javascript - 通过 JavaScript 调整 html 标签和 css 样式

PHP:监听 HTTP 请求/HTTP 流

JavaScript 数组无法识别