从while循环对记录进行分组|的PHP

我正在尝试按记录的优先级对记录进行分组,例如

— Priority: High —

Records…

— Priority: Medium —

Records…

— Priority: Low —

Records…

诸如此类,我该如何在PHP中做到这一点? while循环通过具有int值的优先级列对记录进行排序(高= 3,中= 2,低= 1).例如优先级=’1′

必须在分组记录的级别上方设置标签:“优先级:[优先级]”

编辑:

<?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条件中的优先级是否已更改.如果是这样,请回显优先级并将当前优先级设置为在当前行中找到的优先级.

请注意,如果按优先级对行进行排序,则只能按预期工作(正确分组一次).换句话说,当不同的优先级没有分散在结果集中时.

上一篇:Python使用多个字典组织数据


下一篇:semantic-ui中图片的处理