微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐