我有两个数据库表
main_menu,它有3列id, item_name, imgsub_menu,它有列id, sub_item_name, item_name, add_price, img现在,当用户单击主菜单时,我正在尝试获取主菜单下的所有子菜单。
例如:
select * from sub_menu where item_name="Cafe"它应该在Cafe下显示所有的子菜单。
下面是我编写的web服务,用于获取json格式的数据。
<?php
$response = array();
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// check for post data
if (isset($_GET["item_name"])) {
// get a product from products table
$result = mysql_query("SELECT * FROM sub_menu WHERE item_name ='".$_GET["item_name"]."'");
echo $result;
if (!empty($result)) {
// check for empty result
if (mysql_num_rows($result) > 0) {
$result = mysql_fetch_array($result);
$sub_menu = array();
$sub_menu["id"] = $result["id"];
$sub_menu["item_name"] = $result["item_name"];
$sub_menu["sub_item_name"] = $result["sub_item_name"];
$sub_menu["add_price"] = $result["add_price"];
$sub_menu["img"] = $result["img"];
// success
$response["success"] = 1;
// user node
$response["sub_menu"] = array();
array_push($response["sub_menu"], $sub_menu);
// echoing JSON response
echo json_encode($response);
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No sub menu found";
// echo no users JSON
echo json_encode($response);
}
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No menu found";
// echo no users JSON
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>现在的问题是,我只获得第一批数据,它应该显示所有的数据。
查询在mysql中运行良好,我检查过了。问题就在我的php服务的某个地方。
发布于 2014-08-23 08:02:03
必须在循环中调用mysql_fetch_array(),并将所有行添加到数组中。您只需在单个赋值中复制整个结果行,因为在JSON中使用的字段名与数据库中的字段名相同。
if (mysql_num_rows($result) > 0) {
$submenu = array();
while ($result = mysql_fetch_array($result);
$submenu[] = $result;
}
$response["success"] = 1;
// user node
$response["sub_menu"] = $all_results;
// echoing JSON response
echo json_encode($response);https://stackoverflow.com/questions/25459599
复制相似问题