Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana saya bisa menulis ulang PHP &MySQL saya untuk mengelompokkan daftar HTML saya dengan nilai kolom yang sama?

Sebelum Anda membuat daftar, Anda harus mengelompokkannya terlebih dahulu (seperti yang ditunjukkan oleh struktur Anda), dari sana Anda dapat membuat daftar. Perhatikan contoh ini:

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

Contoh Keluaran



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Karakter non bahasa Inggris muncul sebagai tanda tanya di halaman php saya - muncul baik-baik saja di database

  2. Bagaimana Anda menghentikan MySQL pada instalasi Mac OS?

  3. String pesanan SQL sebagai nomor

  4. Tidak efisien rencana eksekusi yang diambil oleh MySQL InnoDB

  5. apakah keberadaan tanda bintang di pilih mengecualikan kolom lain?