我想要的是为 mysql 结果列中的每个新值创建一个新的无序列表。
我的查询看起来像这样,我将其放入数据数组中:
$connection = dbconnect();
$getusers = "SELECT users.usr_id, users.usr_firstname, users.usr_lastname, user_groups.group_name FROM users INNER JOIN user_groups ON users.usr_group = user_groups.group_id ORDER BY group_name ASC, users.usr_firstname ASC, users.usr_lastname ASC";
$result = mysql_query($getusers);
$data_array = array();
while($data = mysql_fetch_array($result)){
$data_array[] = $data;
}
现在我需要显示该数据,以便每个新的 user_group 都是一个无序列表,并且具有相同组的每一行都作为该无序列表的列表项出现。
它与这个问题( PHP/MySQL 查询结果)非常相似,但我无法在正确的位置获得结束 ul。这是我的输出代码,尽管我知道这是错误的,因为 li 并不是 ul 的真正孩子。
$previousgroup = "";
foreach($data_array as $users){
if($users['group_name'] != $previousgroup){
echo "<ul class=\"group\">" . $users['group_name'] . "</ul>";
}
else{
echo "<li id=\"m" . $users['usr_id'] . "\"><h4>" . $users['usr_firstname'] . " " . $users['usr_lastname'] . ", " . $users['cred_name'] . "</h4></li>";
}
}
有没有更有效的方法来做到这一点?谢谢你的帮助。