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

डेटाबेस रिकॉर्ड से बहुस्तरीय मेनू

इसके लिए कोड कुछ इस तरह होगा (डेटाबेस आदि के साथ आप जिस भी तरीके से इंटरैक्ट करते हैं, उसके लिए इसे बदलना होगा):

// Here we do a query to get all the rows from the table
$db_result = db_execute_query('SELECT * FROM `menu_table` ORDER BY `order_no`');

// Here we take the rows and put it into a structured array
$items = array();
$hierarchy = array('' => array());
while ($row = db_fetch_row($db_result)) {
    $items[$row['menu_name']] = $row['menu_name_en'];
    if ($row['main_menu'] == 'yes') {
        $hierarchy[''][] = $row['menu_name'];
    } else {
        if (!isset($hierarchy[$row['sub_menu']]) {
            $hierarchy[$row['sub_menu']] = array();
        }
        $hierarchy[$row['sub_menu']][] = $row['menu_name'];
    }
}

// Here we define a recursive function to run through our $hierarchy array;
function show_menu($name = '') {
    if (isset($hierarchy[$name])) {
        if ($name == '') {
                echo '<ul class="dropdown">';
        } else {
                echo '<ul class="sub_menu">';
        }

        foreach ($hierarchy[$name] as $sub) {
            echo '<li><a href="#">' . $items[$sub] . '</a>';
            show_menu($sub);
            echo '</li>';
        }

        echo '</ul>';
    }
}

// Here we execute the recursive function on the main menu
show_menu('');

शब्दशः क्रियान्वित करने के बजाय यह समझने की कोशिश करें कि मैं यहाँ क्या कर रहा हूँ। एक बार जब आप पुनरावर्ती कार्यों को जान लेते हैं, तो आपके लिए एक पूरी नई दुनिया खुल सकती है।

यह भी ध्यान दें कि इस कोड को सरल बनाने के लिए आपकी db तालिका को बदला जा सकता है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं स्थापना के बाद mysql में फ़ेडरेटेड इंजन को कैसे सक्षम कर सकता हूँ?

  2. यह SQL INSERT कथन सिंटैक्स त्रुटि क्यों लौटाता है?

  3. 2 sql कॉलम का मिलान करें यदि =फिर 1 . द्वारा एक अलग कॉलम अपडेट करें

  4. एक mysql डेटाबेस कंटेनर पर डोकर कंटेनरों के दो उदाहरण चलाना संभव है?

  5. क्या डेटाबेस कनेक्शन हर समय खुला रहना चाहिए या जरूरत पड़ने पर ही खोला जाना चाहिए?