![](/img/trans.png)
[英]How to get value of other table like a movies data was conected by ID in php, sql group_concat / inner join or any
[英]select inner join, group_concat of sql and php
我有以下查詢:
$myquery = mysql_query("SELECT p.name, GROUP_CONCAT(m.name) as products
FROM access as pm
INNER JOIN seller as p on p.id = pm.id_seller
INNER JOIN products as m on m.id = pm.id_product
WHERE p.id = '".$_COOKIE['id_seller']."'");
返回我這個數組:
Array (
[0] => Seller Name [name] => Seller Name
[1] => Product1 [products] => Product1
);
我應該如何正確查詢數據庫? 感謝考慮到我有3個表(產品,訪問權和賣方)。 我想要實現的是將一種或多種產品歸因於(賣方)賣方。
以及我的下拉列表填充代碼的外觀如何?
<?php
echo'<select name="productaccess">';
foreach($myquery as $product) {
echo'<option value="'.$product.'">'.$product.'</option>';
}
echo'</select>';
?>
謝謝!
如果您只需要一位賣家的產品,則根本不需要分組。 只需列出產品名稱:
$myquery = mysql_query("SELECT m.name
FROM access as pm
INNER JOIN seller as p on p.id = pm.id_seller
INNER JOIN products as m on m.id = pm.id_product
WHERE p.id = '".$_COOKIE['id_seller']."'");
現在$myquery
只是一個資源標識符,而不是結果,因此可以通過mysql_fetch_array()
獲得后者,如下所示:
while($row=mysql_fetch_array($myquery)) {
echo'<option value="'.$row['name'].'">'.$row['name'].'</option>';
}
GROUP_CONCAT與不存在的GROUP BY子句一起使用。 在您的SQL中添加一個“按名稱組”。 這將使上面的SQL返回一行,其中賣方名稱和產品名稱以逗號分隔。 然后將產品名稱分解為一個數組,然后將其饋入foreach循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.