इसके लिए कोड कुछ इस तरह होगा (डेटाबेस आदि के साथ आप जिस भी तरीके से इंटरैक्ट करते हैं, उसके लिए इसे बदलना होगा):
// 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 तालिका को बदला जा सकता है