Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP के साथ MySQL से नेस्टेड मेनू कैसे बनाएं?

यह विशेष रूप से दो स्तरों के लिए गहरा है। ट्रैवर्सल के लिए एक अनुकूलित तालिका संरचना का उपयोग करने के लिए अनुशंसित दृष्टिकोण अधिक होना चाहिए, जैसे http://articles.sitepoint.com/article/hierarchical-data-database/2 (कहीं और इंगित किया गया है) या अपनी जरूरत के डेटा को खींचने के लिए और इसे एक शब्दकोश (एसोसिएटिव एरे) में धकेलें और इसे इस तरह से क्वेरी करें।

<?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. बीता हुआ समय विशिष्ट घंटों तक स्वचालित रूप से पहुंचने पर ईमेल कैसे भेजें?

  2. PHP तालिका पंक्ति से डेटा पुनर्प्राप्त करता है और चर में संग्रहीत करता है

  3. MySQL डेमॉन सर्वर शुरू नहीं कर सकता:टीसीपी/आईपी पोर्ट पर बाइंड:पता पहले से उपयोग में है (यह नहीं है)।

  4. पीएचपी पीडीओ तैयार बयान और मूल्य बंधन अमान्य पैरामीटर संख्या त्रुटि देता है

  5. एक GoDaddy होस्टेड साइट पर PHP.ini को अपडेट करना