您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何重写PHP和MySQL以按相等的列值对HTML列表进行分组?

如何重写PHP和MySQL以按相等的列值对HTML列表进行分组?

在构建列表之前,应首先将它们进行相应的分组(如结构所示),然后才能构建列表。考虑以下示例:

<?PHP

$original_data = array();
$link = new MysqLI('localhost', 'username', 'password', 'database');
// normal select
$query = MysqLi_query($link, 'SELECT * FROM Sheet1 order by country, state, city');
while($row = $query->fetch_assoc()) {
    $original_data[] = $row;
}

$ordered_data = array();
foreach($original_data as $key => $value) {
    // group them
    $ordered_data[$value['country']][$value['state']][$value['city']][] = $value;
}

?>

<!-- print them accordingly -->
<?PHP foreach($ordered_data as $country => $state_values): ?>
    <ul>
        <li><?PHP echo $country; ?></li>
        <?PHP foreach($state_values as $state => $city_values): ?>
        <ul>
            <li><?PHP echo $state; ?></li>
                <ul>
                    <?PHP foreach($city_values as $city => $value): ?>
                        <li><?PHP echo $city; ?></li>
                        <ul>
                            <?PHP foreach($value as $index => $element): ?>
                                <li><?PHP echo $element['Business'] . ' | ' . $element['Phone']; ?></li>
                            <?PHP endforeach; ?>
                        </ul>
                    <?PHP endforeach; ?>
                </ul>
        </ul>
        <?PHP endforeach; ?></li>
    </ul>
<?PHP endforeach; ?>

php 2022/1/1 18:46:46 有576人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶