【发布时间】:2014-09-16 14:18:35
【问题描述】:
我使用 AJAX 创建了一个 PHP 文件来填充页面,但我找不到解决问题的方法。
这是我的 PHP 及其输出:
$result = mysql_query("SELECT id, product, picture FROM table1 ORDER BY id DESC");
$products = array();
while($product = mysql_fetch_array($result, MYSQL_ASSOC)) {
$products[] = ($product);
}
$json = json_encode($products);
$output = isset($_GET['callback']) ? "{$_GET['callback']}($json)" : $json;
echo $output;
这将打印:
[{"id":"5","product":"product5","picture":"picture5.jpg"},
{"id":"4","product":"product4","picture":"picture4.jpg"},
{"id":"3","product":"product3","picture":"picture3.jpg"},
{"id":"2","product":"product2","picture":"picture2.jpg"},
{"id":"1","product":"product1","picture":"picture1.jpg"}]
我想使用另一个查询在此输出上添加字段“In_Stock”以输出如下内容:
[{"id":"5","product":"product5","picture":"picture5.jpg","in_stock":"yes"},
{"id":"4","product":"product4","picture":"picture4.jpg","in_stock":"no"},
{"id":"3","product":"product3","picture":"picture3.jpg","in_stock":"yes"},
{"id":"2","product":"product2","picture":"picture2.jpg","in_stock":"yes"},
{"id":"1","product":"product1","picture":"picture1.jpg","in_stock":"no"}]
我的问题是:是否可以使用数组的值(在第一个 While 内)在另一个表中进行搜索,将此值添加到 products 数组并在上面的输出中保持相同的“布局”?
编辑:
这些是我的桌子:
TABLE1
id
product
picture
第二个
TABLE2
id
user
product_id
in_stock
同一产品可能有不同的库存,具体取决于用户...
【问题讨论】:
-
你问的是可能的,但为什么不检索SQL查询中的所有数据呢?
-
是的,您可以在 while 循环中对另一个表运行单个查询,然后从新查询中手动添加数组键。不过,加入原始查询会更有效。
-
如果股票在另一个表中,您可以使用 JOIN 子句:dev.mysql.com/doc/refman/5.0/en/join.html
标签: php jquery mysql arrays ajax