gpt4 book ai didi

php - 我想从 2 个不同的表进行连接查询,我想从两个表中输出

转载 作者:可可西里 更新时间:2023-11-01 08:59:37 26 4
gpt4 key购买 nike

我应用LEFT JOINRIGHT JOIN 查询从两个表中获取输出..

有两个表:

Product_list 的第一个表。此表包含 category_id,它是外键和所有其他产品详细信息。

enter image description here

product_images 的第二个表。此表包含 product_id,它是外键和产品图像。

enter image description here

我想要特定 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

我得到这个输出: enter image description here

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);
}
?>

最佳答案

请尝试这个查询。您需要在两个查询中应用 where 条件。

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.'

关于php - 我想从 2 个不同的表进行连接查询,我想从两个表中输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49318880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com