sql >> Databáze >  >> RDS >> Mysql

Jak mohu přepsat své PHP a MySQL tak, aby seskupil můj seznam HTML podle stejných hodnot sloupců?

Než vytvoříte seznam, měli byste je nejprve seskupit (jak ukazuje vaše struktura), poté můžete seznam vytvářet. Zvažte tento příklad:

<?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; ?>

Ukázkový výstup



  1. uložit TEXT/BLOB do stejné tabulky nebo ne?

  2. Můj dotaz SQL pro získání hodnot středního řádku pomocí funkce GROUP BY

  3. Instalačnímu programu MySql 5.7 se nepodařilo detekovat redistribuovatelnou verzi VS 2013

  4. MYSQL vyhledávání citlivé na malá a velká písmena (pomocí hibernace) pro utf8