gpt4 book ai didi

php - 使用 php 对查询进行分组

转载 作者:行者123 更新时间:2023-11-29 01:05:34 26 4
gpt4 key购买 nike

基本问题!

我有两张 table

制作

   +-----+--------------+  
| id | fruit_name |
+--------------------+
| 1 | Apple |
| 2 | Banana |
| 3 | Carrot |
+-----+--------------+

品种

   +-----+---------------+----------------+
| id | fk_fruit_id | variety_name |
+-----+---------------+----------------+
| 1 | 1 | Cox |
| 2 | 1 | Braeburn |
| 3 | 2 | Chester |
| 4 | 3 | Kotaka |
| 5 | 3 | Imperial |
| 6 | 3 | Oneal |
+-----+---------------+----------------+

我想输出每个水果的品种列表,例如

APPLE - Cox, Braeburn

BANANA - Chester

CARROT - Kotaka, Imperial, Oneal

我现在的代码是

$query   = "SELECT * FROM produce, varieties WHERE produce.id = varieties.fk_fruit_id"; 

$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

$produce_fruit_code = $row['fruit_code'];
$variety_name = $row['variety_name'];

echo $produce_fruit_code.' - '.$variety_name.'<br/>';

}

哪些输出:

Apple - Cox
Apple - Braeburn
Banana - Chester
Carrot - Kotaka
Carrot - Imperial
Carrot - Oneal

距离不到一百万英里,但仍然不存在。非常感谢任何帮助,谢谢!

最佳答案

您可能会得到一个大块的 sql 语句来为您执行此操作,但我会选择使用数组处理数据。

例如(未经测试,请原谅格式化):

$query   = "SELECT * FROM produce, varieties WHERE produce.id = varieties.fk_fruit_id";     
$result = mysql_query($query) or die('Error : ' . mysql_error());

$res=array();

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

$produce_fruit_code = $row['fruit_code'];
$variety_name = $row['variety_name'];

if(isset($res[$produce_fruit_code])){
$res[$produce_fruit_code]+=','.$variety_name;
}else{
$res[$produce_fruit_code]=$variety_name;
}

}
print_r($res);

关于php - 使用 php 对查询进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10050220/

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