AJAX PHP JSON编码未返回所有结果
AJAX PHP JSON encode not returning all results
我会简要介绍。。。我正要跳过
并非所有的结果都在中起作用
在文档标题中,我包括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的
是否应该先创建一个对象,然后对整个批次进行json编码,而不是对每一行进行json单独编码?
我对sql不太好,但LIMIT大于1意味着你(可能)会返回多行,对吗?
如果是这样的话,那么您本质上是在一个响应中返回多个json响应,我认为您不应该这样做。
相关文章:
- 是否可以将JXBrowser显示的JS确认对话框的结果返回到调用它的JS部分
- 将字符串结果返回到表单元格中的新行中
- 如何从批处理文件调用一个带有2个参数的java脚本函数,并将结果返回到环境变量
- 使用 JSON 和 ExtJS 将 MPDF 结果返回给浏览器
- 将信息结果返回到多个输入字段
- 如何将变量从javascript发送到php并将结果返回给JS
- 将 JavaScript 变量传递给 PHP,并将 PHP 结果返回给 JavaScript 变量
- 当没有结果返回 JavaScript 搜索时显示消息
- 加载相同的结果返回按钮
- 如果搜索框位于_SiteLayout页(在页眉 DIV 中),如何将搜索结果返回给用户
- MVC C#中的自定义操作结果返回特定视图
- 使用javascript/lodash对特定键的相同值进行分组,并对其进行计数,然后将结果返回到数组
- 如何使用javascript将循环结果返回到列中
- 结果返回为“未定义”
- 搜索未检测到结果返回-Selectize.js
- 调用一个打开活动并将活动结果返回给javascript的java函数
- 将PHP结果返回到原始html页面
- ASP.. NET MVC控制器结果返回到视图
- 如何通过AJAX传递值来更改SQL搜索查询并将结果返回给HTML ?
- Asp.net MVC或javascript将另一个页面的结果返回给方法