从while循环|分组记录PHP
问题描述:
我试图按优先级分组记录,例如从while循环|分组记录PHP
---优先顺序:高度---
记录...
---优先顺序:中度---
记录.. 。
---优先级:低---
记录...
类似的东西,我应该怎么做,在PHP? while循环通过具有int值(高= 3,中等= 2,低= 1)的优先级列来排序记录。例如WHERE优先= '1'
标签:“优先级:[优先级]”具有上述分组的记录有关其水平
EDIT被设置:
<?php
while($row = mysql_fetch_array($result))
{
echo '<h1>Priority Level: ' . $row['priority'] . '</h1>';
echo $row['name'];
}
?>
就像那段代码 -
标签是分离关于它们的优先级的记录的标签。
答
如果你确定结果由优先级则微不足道的东西订购,因为这:
$priority = null;
while($row = mysql_fetch_array($result))
{
if($row['priority'] != $priority)
{
echo '<h1>Priority Level: ' . $row['priority'] . '</h1>';
$priority = $row['priority'];
}
echo $row['name'];
}
换句话说,你跟踪在$priority
变量的当前优先级。然后测试if
条件中的优先级是否已更改。如果是,则为echo
优先级,并将当前优先级设置为在当前行中找到的优先级。
请注意,如果行按优先级排序,则只能按预期工作(真正分组一次)。换句话说,当不同的优先级不分散在结果集中时。
答
如果你使用mysql,你为什么不使用数据库排序功能?
SELECT *
FROM items
ORDER BY priority DESC
+0
不是查询...我已经得到它的命令,我问的是分离记录的PHP。 - 编辑帖子btw – MacMac 2010-04-04 21:51:14
接受的解决方案,谢谢:) – MacMac 2010-04-04 21:57:59
啊..它有点不起作用,但它'记录'的记录,但它只是给每个记录不标签每个组的标签。 – MacMac 2010-04-04 22:06:06
您确定结果集按优先级排序吗?你能编辑你的问题并在那里显示SQL查询吗? – 2010-04-04 22:09:46