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

Bagaimana cara membuat menu bersarang dari MySQL dengan PHP?

Ini khusus untuk kedalaman dua level. Pendekatan yang disarankan jika lebih menggunakan struktur tabel yang dioptimalkan untuk traversal, seperti http://articles.sitepoint.com/article/hierarchical-data-database/2 (ditunjukkan di tempat lain) atau untuk menarik data yang Anda butuhkan dan memasukkannya ke dalam kamus (array asosiatif) dan menanyakannya seperti itu.

<?php
    $query = <<<EOT
        SELECT
            parent.name as parent_name,
            child.name as child_name,
        FROM
            items child
        INNER JOIN
            items parent
        ON
            child.parent_id = parent.id
        ORDER BY
            parent.name
EOT;

    $result = mysql_query($query) or die('Failure!');

    echo "<ul id=\"catmenu\">";

    $last_parent = '';
    while($row = mysql_fetch_array($result)){
        // If this is a new category, start a new one
        if($last_parent != $row['parent_name']){
            // Unless this is the first item, close the last category
            if($last_parent != ''){
                echo "</ul></li>";
            }
            $last_parent = $row['parent_name'];
            echo "<li class=\"menulist\">{$row['parent_name']}<ul>";
        }
        echo "<li>{$row['child_name']}</li>";
    }

    // If we actually had items, close the "category"
    if($last_parent != ''){
        echo "</ul></li>";
    }

    echo "</ul>";

?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memanggil Prosedur Tersimpan MySQL Dengan Python

  2. Menggunakan MySQL di Flask

  3. Bagaimana cara menambahkan AUTO_INCREMENT ke kolom yang ada?

  4. MySQL Pilih data bulan lalu dengan current_timestamp

  5. buruh pelabuhan menulis wadah MySQL [2002] Koneksi ditolak