【发布时间】:2014-03-02 02:06:17
【问题描述】:
考虑这两个查询:
$sql = "select rq1.itemNo, rq1.bid, rq1.bidDate
from encan rq1
left outer join encan rq2
on(rq1.itemNo = rq2.itemNo and rq1.bid < rq2.bid)
where rq2.itemNo is null
order by itemNo";
$sql2 = "SELECT itemNo, count(*) as totalBid
FROM encan
GROUP BY itemNo
ORDER BY itemNo ASC;";
第一个查询给出了 itemNo 和 bidDate 的最高出价。 这是 JSON 结果:
[{"itemNo":"Item #1","bid":"140","bidDate":"2014-03-01"},{"itemNo":"Item #2","bid":"110","bidDate":"2014-01-26"},{"itemNo":"Item #3","bid":"70","bidDate":"2014-01-24"},{"itemNo":"Item #7","bid":"30","bidDate":"2014-01-30"},{"itemNo":"Item #8","bid":"40","bidDate":"2014-01-28"}]
第二个给了我每个 itemNo 的总投标数。 结果如下:
[{"itemNo":"Item #1","totalBid":4},{"itemNo":"Item #2","totalBid":3},{"itemNo":"Item #3","totalBid":3},{"itemNo":"Item #7","totalBid":2},{"itemNo":"Item #8","totalBid":2}]
我希望在第一个查询中包含总出价,因此我不会尝试将两个不同的结果传输到 AJAX。我正在使用返回的结果将数据更新到我的 HTML 中。
我设法弄清楚如何获取第一个查询的结果并通过 AJAX/jQuery 对其进行操作并更新我的 HTML。我不认为有第二个 AJAX 调用来获得第二个结果是正确的方法。将两个查询结果都返回一个 JSON 对象将大大简化前端的编码。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
那么,只需将这两条数据放入一个数组或对象中您对其进行 JSON 编码并将其发送到客户端......
-
或者您可以在第二个 (
count) 查询中作为第一个字段进行子选择。第二个是计数加上itemNo,第一个也有。
标签: php jquery mysql ajax json