gpt4 book ai didi

php - 按 FIELD() 使用字段名称排序

转载 作者:行者123 更新时间:2023-11-29 00:19:39 24 4
gpt4 key购买 nike

如何按 FIELD 排序,但我想在每个字段中显示州名;下面是我当前的 SQL 语句

SQL:

SELECT m.*, s.* 
FROM mall m
LEFT JOIN `state` s
ON(m.state_id=s.state_id)
WHERE m.mall_status="1" AND m.state_id !="0"
ORDER BY FIELD(m.state_id, 14, 12, 13) ASC , m.mall_name ASC
LIMIT 0,30

数据库:

mall_id   | mall_name        |  state_id
3331410 1 Mont Kiara 14
3331411 AEON Metro Prima 14
3331412 AEON Alpha Angle 13
3331419 Cap Square 13
3331423 Fahrenheit 88 12
3331428 KL Festival City 12
3331430 Low Yat Plaza 12

state_id | state_name
14 Kuala Lumpur
13 Sarawak
12 Sabah

当前结果:

1 Mont Kiara        14  
AEON Metro Prima 14
Fahrenheit 88 12
KL Festival City 12
Low Yat Plaza 12
AEON Alpha Angle 13
Cap Square 13

//loop
echo $row['mall_name'] . ' ' . $row['state_id']

但我想要的结果如下所示(带有状态名称但仅显示在顶部):

Kuala Lumpur  <-- add state_name 
1 Mont Kiara 14
AEON Metro Prima 14

Sabah
Fahrenheit 88 12
KL Festival City 12
Low Yat Plaza 12

Sarawak
AEON Alpha Angle 13
Cap Square 13

最佳答案

每次状态更改时,您都需要echo您所在行的状态名称:

echo $row['state_name'];

因此,在循环的顶部,您需要某种中断条件:

if ($state_id != $row["state_id"])
{
echo $row['state_name'];
$state_id = $row["state_id"];
}

这将确保状态名称在所有详细信息出现之前一次得到回显。

关于php - 按 FIELD() 使用字段名称排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21554218/

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