我正在尝试获取分配给 id=9 的特定子类别的配置文件名称。当我运行下面的代码时,我得到了我想要的配置文件,但由于某种原因,foreach 循环中的 ORDER BY 子句没有按其名称的字母顺序对它们进行排序。相反,它们的排序方式与它们在“子类别”表中的“配置文件”字段中的排序方式相同(配置文件的 ID 以逗号分隔)。例如,如果在 subcategories['profiles'] 我有 ',5,1,2' 配置文件名称将按以下顺序显示:
- ID=5 的配置文件
- ID=1 的配置文件
- ID=2 的配置文件
我正在使用explode() 函数获取“子类别”表中每个配置文件的ID,然后使用该ID 使用foreach 循环内的查询从“配置文件”表中检索它们的信息。
我在这里错过了什么吗?谢谢你的帮助。
这是我的代码:
<?php
$subcategories=mysql_query("select * from subcategories where id='9'");
while ($subcategories = mysql_fetch_array($subcategories))
{
$profiles = $subcategories['profiles'];
$profiles = explode(',', $profiles);
foreach ($profiles as $p)
{
$all_places = mysql_query("select * from profile where id='$p' and active='1' order by name asc");
while ($profile = mysql_fetch_array($all_places))
{
echo $profile['name'];
}
}
}
?>