在构建列表之前,应首先将它们进行相应的分组(如结构所示),然后才能构建列表。考虑以下示例:
<?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; ?>