मुझे लगता है कि आप एक नेविगेशन मेनू बनाने का प्रयास करते हैं। जहां उप प्रविष्टियां केवल तभी दिखाई देनी चाहिए जब आपके पृष्ठ के आगंतुक द्वारा शीर्ष मेनू आइटम का चयन किया जाता है।
क्या यह सही है?
ठीक है अगर ऐसा है। आपके मन में यह हो सकता है।
- यदि कोई उपयोगकर्ता पहले आपका पृष्ठ प्रदर्शित करता है। आप केवल शीर्ष मेनू आइटम दिखा सकते हैं।
- यदि कोई उपयोगकर्ता शीर्ष मेनू आइटम में से एक का चयन करता है तो वह एक लिंक पर क्लिक करता है जो आपकी स्क्रिप्ट को कुछ अतिरिक्त जानकारी के साथ पुनः लोड करता है।
- अब आपकी स्क्रिप्ट को यह पता लगाने की जरूरत है कि उपयोगकर्ता ने अतिरिक्त जानकारी के आधार पर कौन सा शीर्ष मेनू आइटम चुना है।
- उपयोगकर्ता के चयन के आधार पर आप सबमेनू आइटम दिखा या छिपा सकते हैं।
यहां आपका काम क्या है, आपको यह सुनिश्चित करना होगा कि आपकी स्क्रिप्ट यह पता लगाए कि किस टॉप-मेन्यू आइटम पर क्लिक किया गया है।
क्या आपको और सहायता चाहिए, या यह स्पष्ट है कि क्या करना है?
ठीक है, इसके बारे में कैसे test.php . के रूप में गतिशील php मेनू के लिए एक मूल उदाहरण के रूप में
<?php
$menu="";
extract( $_GET, EXTR_PREFIX_ALL, "url" );
if (isset($url_menu)){
$menu=$url_menu;
echo "you selected ".$menu."<br>";
}
echo "<ul>";
// top menu 1
echo '<li><a href="./test.php?menu=top1">Top1</a>';
if ($menu=="top1"){
echo "<ul>";
echo "<li>Submenu</li>";
echo "</ul>";
}
echo "</li>";
// top menu 2
echo '<li><a href="./test.php?menu=top2">Top2</a>';
if ($menu=="top2"){
echo "<ul>";
echo "<li>Submenu</li>";
echo "</ul>";
}
echo "</li>";
echo "</ul>";
?>
किसी भी शीर्ष मेनू आइटम को अतिरिक्त चर "मेनू" पर हाथ से देखें। इस मामले में यह या तो "टॉप1" या "टॉप2" है। अब रीलोड पर आपकी स्क्रिप्ट जांचती है कि क्या "मेनू" पहले से ही सेट है और "मेनू" के मान के आधार पर यह संबंधित सब मेन्यू दिखाता है।
अभी भी एक लंबा रास्ता तय करना है, क्योंकि मेरे मामले में मैं निश्चित मेनू आइटम का उपयोग करता हूं जहां आपके मामले में आप "उपयोगकर्ता आईडी" के आधार पर मेनू आइटम लोड करते हैं।
मुझे बताएं कि क्या उपरोक्त उदाहरण आपके स्थान पर काम करता है और यदि आपको इसे अपने गतिशील रूप से लोड किए गए मेनू में अपनाने के लिए अतिरिक्त सहायता की आवश्यकता है।
उस विचार के बाद आपको
. को बदलने की आवश्यकता है<li class='has-sub'><a href='#'><span><?=$get_main_menu['menu_name']; ?></span></a>
उदाहरण के लिए वेरिएबल नाम "स्तर0" जोड़कर
<li class='has-sub'><a href='<?= ?level0=$sub_menu['menu_name']; ?>'><span><? $get_main_menu['menu_name']; ?></span></a>
तो आप अपने उप मेनू में जांच कर सकते हैं यदि "स्तर0" सेट किया गया है जैसा आप उम्मीद करते हैं और फिर उप मेनू आइटम दिखाएं या छुपाएं।