php - How to make datadriven menu and submenu with different user login in yii framework? -
बनाएँ तालिका मेनमेन्यू (मेनूइंड इंट (10) नल, मेनमेनैम वर्चार (50) नल, यूआरएल varchar ( 100) शून्य, प्राथमिक कुंजी (मेन्यूड)) इंजन = InnoDB डिफॉल्ट चार्ज = latin1 यह मुख्य मेन्यू तालिका है
बनाओ टेबल सबमेनू (सबमेन्यूइड इंट 10) नहीं, न्यूरिड इंट (10) नल नहीं, उपमेनंमेम वर्चार (50) नल, यूआरएल varchar (100) नल, प्राइमरी कुंजी (सबमेनुइड), कुंजी मेन्यूड (मेन्यूआईड), कॉन्ट्रैक्ट सबमेनू_इबैक_1 फ़ॉरेन कुंजी (मेन्यूड) संदर्भ मेन मेन्यू (Menuid)) इंजन = InnoDB DEFAULT CHARSET = latin1 यह सबमेनू सारणी है
बनाओ टेबल user_rights (user_id varchar (20) नल, उपमेनूयड इंट (3) नल नहीं, मेन्यूड इंट (3) नल, एक्सेसल व्हार्कर (20) डिफॉल्ट नल, प्राइमरी की (यूज़र_आईडी, सबमेनुइड, मेन्यूड), केम सबमेनुइड (सबमेनुइड), केई मेन्यूड (मेन्यूआईड), कॉन्ट्रैक्ट यूजर_स्ट्रॉइट_आईबीएफटीआई_1 विदेशी कुंजी (यूज़र_आईडी ) संदर्भ उपयोगकर्ता (user_id), CONSTRAINT user_rights_ibfk_2 विदेशी कुंजी (सबमेनू आईडी) संदर्भ सबमेनू (सबमेन्यूड), कॉन्ट्रैक्ट यूजर_रेट्स_आईबीएफएफ़एक्सएडीएस फ़ॉरेन कुंजी (मेन्यूड) संदर्भ मेनमेन्यू (मेन्यूड)) इंजन = इंनोडीबी डिफॉल्ट चार्ज = latin1 यह उपयोगकर्ता अधिकार तालिका है
बनाओ टेबल उपयोगकर्ता (उपयोगकर्ता नाम) varchar (20) नहीं, पासवर्ड varchar (20) नहीं, यूज़र_आईड varchar (20) नल, accessrole varchar (20) नल, प्राथमिक कुंजी (user_id)) इंजन = InnoDB डिफॉल्ट CHARSET = latin1 यह उपयोगकर्ता तालिका है।
उपयोगकर्ता के अधिकारों से उपयोग के साथ जुड़े डेटाबेस से मेनू और सबमेनू को कैसे लोड करें tbl?
एक अलग मेनू और सबमेनू सारणी का उपयोग करने के बजाय, स्तंभ 'int' parentID 'के साथ एक एकल तालिका बनाएं।
बनाएँ प्रत्येक सबमेनू को संसाधित करने / प्रदर्शित करने के लिए एक पुनरावृत्ति फ़ंक्शन।
& lt; code & gt; निजी फ़ंक्शन प्रोसेसब्रिंच ($ शाखा) {$ मानदंड = नया सीडीबीसीआरटीआईएरिया; $ मानदंड- & gt; जोड़ ('parentID ='। $ शाखा); $ मानदंड- & gt; जुड़ाव ('accessrole ='। $ This- & gt; पहुंच); $ Menuitems = मेनू :: मॉडल () - & gt; खोज (सभी मानदंड); अगर (! खाली ($ menuitems)) {foreach ($ आइटम के रूप में $ menuitems) {// EcHo मेनू सामग्री यहाँ $- इस- & gt; प्रक्रियाब्रंच ($ item- & gt; आईडी); }}}
प्रोसेसरब्रेन (0) के साथ रूट मेनू प्रदर्शित करें
Comments
Post a Comment