我正在尝试按照优先级对记录进行分组,例如
---优先级:高---
记录... 的
---优先级:中等---
记录... 的
---优先级:低---
记录... 的
这样的事情,我怎么用PHP做到这一点? while循环按优先级列排序记录,该列具有int值(high = 3,medium = 2,low = 1)。例如 WHERE priority ='1'
标签:“优先级:[优先级]”必须设置在有关其级别的分组记录之上
修改
<?php
while($row = mysql_fetch_array($result))
{
echo '<h1>Priority Level: ' . $row['priority'] . '</h1>';
echo $row['name'];
}
?>
就像那段代码一样 -
答案 0 :(得分:3)
如果您确定结果是按优先顺序排序的话,那么就像这样简单:
$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
优先级并将当前优先级设置为当前行中找到的优先级。
请注意,如果行按优先级排序,则只能按预期工作(真正分组一次)。换句话说,当不同的优先级没有分散在结果集中时。
答案 1 :(得分:0)
如果您使用mysql,为什么不使用数据库排序功能?
SELECT *
FROM items
ORDER BY priority DESC