【发布时间】:2018-08-25 09:51:36
【问题描述】:
我应用 LEFT JOIN 和 RIGHT JOIN 查询从两个表中获取输出。
有两个表:
Product_list 的第一个表.. 此表包含 category_id,它是外键和所有其他产品详细信息..
product_images的第二个表..这个表包含product_id,它是外键和产品图像分开..
我想要特定 category_id 的产品详细信息和产品图片..
我使用这个查询但不能正常工作:
SELECT *
FROM product_list
LEFT JOIN product_images ON product_list.pro_id = product_images.pro_id
WHERE product_list.cat_id = '.$id.'
UNION
SELECT *
FROM product_list
RIGHT JOIN product_images ON product_list.pro_id = product_images.pro_id
API 代码
<?php
error_reporting(0);
$response = array();
require_once __DIR__ . '/db_Connect.php';
// check for post data
if (isset($_GET["cat_id"])) {
$id = $_GET['cat_id'];
// get a product from products table
//$q="SELECT * FROM product_list WHERE cat_id ='".$id."' ORDER BY pro_id DESC ";
$q="SELECT *
FROM product_list
LEFT JOIN product_images ON product_list.pro_id = product_images.pro_id
WHERE product_list.cat_id = '.$id.'
UNION
SELECT *
FROM product_list
RIGHT JOIN product_images ON product_list.pro_id = product_images.pro_id WHERE product_list.cat_id = '.$id.'";
//print($q);
$res = mysql_query($q);
print($res);
//exit();
if (mysql_num_rows($res) > 0) {
$responce["category_sub_list"]=array();
// check for empty result
while($result = mysql_fetch_array($res)) {
$product=array();
$product['pro_id']=$result['pro_id'];
$product['cat_id']=$result['cat_id'];
$product['product_name']=$result['product_name'];
$product['image']="http://friendzfashionz.com/pandora/admin/Sub_uploads/".$result['image'];
$product['product_desc']=$result['product_desc'];
array_push($responce["category_sub_list"],$product);
}
$responce["success"]=1;
echo json_encode($responce);
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No user 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);
}
?>
【问题讨论】:
-
您当前的输出是什么,您的预期输出是什么?可以在这里发帖吗?
-
最后一张照片是当前输出@SmitRaval
-
你能试试我在回答中发布的查询吗?
-
它在 php myadmin 中可以正常工作,但在我的 API 中却没有...@SmitRaval
-
请用所有代码更新您的问题,以便我为您提供帮助。
标签: php mysql database join outer-join