2012-03-28 27 views
-1

我只是想填充它使用MySQL和PHP使用單臺PHP,MySQL查詢創建一個下拉菜單

樣品的菜單網址,一個多層次的下拉菜單: http://www.vidiyarkarai.com/

(對不起,這個我想包括一個圖像,但我不允許上傳圖像,請參閱上面的地址菜單,請不要介意在該網站的語言...)

我只想使用一個表生成這種類型的菜單,我做了這個使用多個表,這在某些情況下效率低下,所以我想在一個單桌。

/*menu should be like 

    - menu_name(show if parent_id=0) // parent id is 1 for this id --- level1 
    -> menu_name(show if parent_id=1) // parent id is 2 for this id --- level2 
     ->-> menu_name(show if parent_id=2) // parent id is 3 for this id --- level3 
    */ 
      -- 
      -- Table structure for table `tm_menu` 
      -- 

      CREATE TABLE IF NOT EXISTS `tm_menu` (
       `menu_id` int(10) NOT NULL, 
       `menu_name` varchar(300) DEFAULT NULL, 
       `menu_desc` text, 
       `menu_link` varchar(300) DEFAULT NULL, 
       `item_id` int(10) DEFAULT NULL, 
       `item_pos` varchar(10) DEFAULT NULL, 
       `parent_id` int(10) DEFAULT NULL, 
       `created_by` varchar(100) DEFAULT NULL, 
       `updated_by` varchar(100) DEFAULT NULL, 
       `created_on` datetime DEFAULT NULL, 
       `updated_on` datetime DEFAULT NULL, 
       `ip` varchar(100) DEFAULT NULL, 
       `status` tinyint(1) DEFAULT NULL, 
       PRIMARY KEY (`menu_id`) 
      ) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

      -- 
      -- Dumping data for table `tm_menu` 
      -- 

FYU我包括樣本數據,請別介意關於它包括提前

INSERT INTO `tm_menu` (`menu_id`, `menu_name`, `menu_desc`, `menu_link`, `item_id`, `item_pos`, `parent_id`, `created_by`, `updated_by`, `created_on`, `updated_on`, `ip`, `status`) VALUES 
    (1, 'à®®à¯à®•à®ªà¯à®ªà¯', NULL, '', 1, '0', 0, NULL, NULL, NULL, NULL, NULL, 1), 
    (2, 'நமத௠வரலாறà¯', 'பழநà¯à®¤à®®à®¿à®´à®°à¯ வரலாற௠மà¯à®¤à®²à¯ தறà¯à®•à®¾à®²à®¤à¯ தமிழர௠வரை அறிநà¯à®¤à¯ கொளà¯à®µà¯‹à®®à¯', 'set3cd15f8f2940aff879df34df4e5c2cd1', 2, '0', 0, NULL, NULL, NULL, NULL, NULL, 1), 
    (3, 'மொழிகளà¯', 'பனà¯à®©à¯†à®Ÿà¯à®™à¯à®•à®¾à®²à®®à¯ தொடà¯à®Ÿà¯ இபà¯à®ªà¯‹à®¤à¯ வரையிலà¯à®®à¯, தமிழோட௠கலநà¯à®¤ மொழிகள௠மறà¯à®±à¯à®®à¯ தறà¯à®ªà¯‹à®¤à¯ தமிழகதà¯à®¤à®¿à®²à¯ பேசபà¯à®ªà®Ÿà¯à®®à¯ மொழிகளà¯, மறà¯à®±à¯à®®à¯ மொழி வழகà¯à®•à¯à®•à®³à¯ பறà¯à®±à®¿à®¯ தகவல௠களஞà¯à®šà®¿à®¯à®®à¯', 'setf3e334d42863e8250c7d03efefbfd387', 3, '0', 0, NULL, NULL, NULL, NULL, NULL, 1), 
    (4, 'மகà¯à®•à®³à¯', 'கல௠தோனà¯à®±à®¿ மண௠தோனà¯à®±à®¾ காலதà¯à®¤à¯‡ தோனà¯à®±à®¿à®¯ நம௠மொழியின௠மாநà¯à®¤à®°à¯à®•à®³à¯, பரவி வாழà¯à®®à¯ à®®à¯à®±à¯ˆ பறà¯à®±à®¿à®¯ தகவல௠திரடà¯à®Ÿà¯', 'set12a032ce9179c32a6c7ab397b9d871fa', 4, '0', 0, NULL, NULL, NULL, NULL, NULL, 1), 
    (5, 'தமிழ௠மனà¯à®©à®°à¯à®•à®³à¯', 'பெரà¯à®žà¯à®šà¯‹à®±à¯à®±à¯à®¤à®¿à®¯à®©à¯ சேரலாதன௠காலம௠தொடà¯à®Ÿà¯ தமிழின௠வழியாக கோலோசà¯à®šà®¿à®¯ மாமனà¯à®©à®°à¯à®•à®³à¯ பறà¯à®±à®¿à®¯ வரலாறà¯', 'set75c2af9d944a14ccbf79b39bf9c3a338', 5, '0', 0, NULL, NULL, NULL, NULL, NULL, 1), 
    (6, 'கலைகளà¯', 'தமிழர௠வழி வநà¯à®¤ ஆய கலைகள௠அறà¯à®ªà®¤à¯à®¤à¯ நானà¯à®•à¯à®®à¯ (௬௪), அதனைக௠கரைகணà¯à®Ÿ மனிதரà¯à®•à®³à¯à®®à¯', 'set96930e61e073920d9327ad9b3ab58071', 6, '0', 0, NULL, NULL, NULL, NULL, NULL, 1), 
    (7, 'à®®à¯à®¤à®±à¯à®šà®™à¯à®• காலமà¯', NULL, 'setb9aafae93ae640481cd3c38350f7ed99', 7, '0', 11, NULL, NULL, NULL, NULL, NULL, 1), 
    (8, 'இடைசà¯à®šà®™à¯à®• காலமà¯', NULL, 'set6afa2460019e37b04f04ff903df462d1', NULL, '2', 11, NULL, NULL, NULL, NULL, NULL, 1), 
    (10, 'Menu', NULL, 'dd', NULL, '8', 8, NULL, NULL, NULL, NULL, NULL, 1), 
    (9, 'கடைச௠காலமà¯', NULL, 'set529e895d6ea5dee9ce1c5bef7012e9a1', NULL, NULL, 11, NULL, NULL, NULL, NULL, NULL, 1), 
    (11, 'சஙà¯à®• காலமà¯', 'சஙà¯à®• காலம௠எனà¯à®ªà®¤à¯ கி.à®®à¯. 2ம௠நூறà¯à®±à®¾à®£à¯à®Ÿà®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ கி.பி. 2ம௠நூறà¯à®±à®¾à®£à¯à®Ÿà¯ வரை. இநà¯à®¤à®•à¯ கால கடà¯à®Ÿà®¤à¯à®¤à®¿à®²à¯ ஆடà¯à®šà®¿ செயà¯à®¤ தமிழ௠மனà¯à®©à®°à¯à®•à®³à¯ˆà®ªà¯ பறà¯à®±à®¿ மிகக௠கà¯à®±à¯ˆà®µà®¾à®© தகவலà¯à®•à®³à¯‡ கிடைதà¯à®¤à¯à®³à¯à®³à®©.', 'setcbfcdf6865b58d28c232b6a5ec27b550', NULL, NULL, 2, NULL, NULL, NULL, NULL, NULL, 1), 
    (12, 'சேரரà¯à®•à®³à¯', 'à®®à¯à®±à¯à®•à®¾à®²à®šà¯ சேரரà¯à®•à®³à¯ˆà®ªà¯ பறà¯à®±à®¿ மிகவà¯à®®à¯ அரிதாகவே செயà¯à®¤à®¿à®•à®³à¯ உளà¯à®³à®©, ஆனால௠சஙà¯à®• காலச௠சேரரà¯à®•à®³à¯ˆà®ªà¯ பறà¯à®±à®¿ சிறிதளவ௠செயà¯à®¤à®¿à®•à®³à¯ உளà¯à®³à®©', 'set63252149fe05360f32cb3e9c4385e932', NULL, '1', 5, NULL, NULL, NULL, NULL, NULL, 1), 
    (14, 'பாணà¯à®Ÿà®¿à®¯à®°à¯à®•à®³à¯', 'இநà¯à®¤à¯ சமà¯à®¤à¯à®¤à®¿à®°à®¤à¯à®¤à®¿à®²à¯ மூழà¯à®•à®¿à®µà®¿à®Ÿà¯à®Ÿà®¤à¯†à®©à®•à¯ கரà¯à®¤à®ªà¯à®ªà®Ÿà¯à®®à¯ கà¯à®®à®°à®¿à®•à¯à®•à®£à¯à®Ÿà®¤à¯à®¤à®¿à®²à¯ 72 நாடà¯à®•à®³à¯à®®à¯ தலைநகராக தெனà¯à®®à®¤à¯à®°à¯ˆà®¯à¯à®®à¯ விளஙà¯à®•à®¿à®¯à®¤à¯. பாணà¯à®Ÿà®¿à®¯ மனà¯à®©à®°à¯à®•à®³à®¿à®©à¯ தலைநகராக விளஙà¯à®•à®¿à®¯ இதà¯à®¤à¯†à®©à¯à®®à®¤à¯à®°à¯ˆ கடறà¯à®•à¯‹à®³à®¿à®©à®¾à®²à¯ அழிவà¯à®±à¯à®±à®¤à¯.இகà¯à®•à®Ÿà®±à¯à®•à¯‹à®³à®¿à®²à¯ அழியாத௠இரà¯à®¨à¯à®¤à¯ எஞà¯à®šà®¿à®¯ நாடà¯à®•à®³à®¿à®©à¯ தலைநகராக கபாடபà¯à®°à®®à¯ விளஙà¯à®•à®¿à®¯à®¤à¯.இரணà¯à®Ÿà®¾à®®à¯ கடறà¯à®•à¯‹à®³à®¾à®²à¯ அநà¯à®¨à®¾à®Ÿà¯à®®à¯ அழிவà¯à®±à¯à®±à®¤à¯.இவà¯à®µà®´à®¿à®µà®¿à®©à¯ பினà¯à®©à®°à¯ தறà¯à®ªà¯‹à®¤à¯à®³à¯à®³ மதà¯à®°à¯ˆ பாணà¯à®Ÿà®¿à®¯à®°à¯à®•à®³à®¿à®©à¯ தலைநகராயிறà¯à®±à¯. பாணà¯à®Ÿà®¿à®¯ மனà¯à®©à®°à¯à®•à®³à®¾à®²à¯ தமிழà¯à®šà¯ சஙà¯à®•à®®à¯ வைதà¯à®¤à¯ தமிழ௠வளரà¯à®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯.', 'set96442866e22d7aa54d31c360bac83c5e', NULL, '3', 5, NULL, NULL, NULL, NULL, NULL, 1), 
    (15, 'பலà¯à®²à®µà®°à¯à®•à®³à¯', 'தமிழ௠நாடà¯à®Ÿà®¿à®²à¯ கி.பி நானà¯à®•à®¾à®®à¯ நூறà¯à®±à®¾à®£à¯à®Ÿà¯ தொடகà¯à®•à®®à¯ à®®à¯à®¤à®²à¯ பதà¯à®¤à®¾à®®à¯ நூறà¯à®±à®¾à®£à¯à®Ÿà®¿à®©à¯ தொடகà¯à®•à®®à¯ வரை à®à®±à®¤à¯à®¤à®¾à®´ 700 வரà¯à®Ÿà®™à¯à®•à®³à¯ ஆடà¯à®šà®¿ பà¯à®°à®¿à®¨à¯à®¤à®©à®°à¯. இவரà¯à®•à®³à®¤à¯ ஆடà¯à®šà®¿ தமிழகதà¯à®¤à®¿à®©à¯ வரலாறà¯à®±à®¿à®²à¯ பலà¯à®µà¯‡à®±à¯ à®…à®®à¯à®šà®™à¯à®•à®³à®¿à®²à¯ திரà¯à®ªà¯à®ªà¯à®®à¯à®©à¯ˆà®¯à®¾à®• அமைநà¯à®¤à®¤à¯ எனலாமà¯. எனினà¯à®®à¯ இவரà¯à®•à®³à¯à®Ÿà¯ˆà®¯ தோறà¯à®±à®®à¯ பறà¯à®±à®¿ நமà¯à®ªà®¤à¯à®¤à®•à¯à®¨à¯à®¤ தகவலà¯à®•à®³à¯ இனà¯à®©à¯à®®à¯ கிடைகà¯à®•à®µà®¿à®²à¯à®²à¯ˆ. இவரà¯à®•à®³à¯ தமிழரà¯à®•à®³à¯‡ என à®'ர௠பிரிவினர௠நிறà¯à®µ à®®à¯à®¯à®², வேற௠சிலர௠இவரà¯à®•à®³à¯, தமிழகதà¯à®¤à¯à®•à¯à®•à¯ வெளியிலிரà¯à®¨à¯à®¤à¯ வநà¯à®¤ தமிழரலà¯à®²à®¾à®¤ இனதà¯à®¤à®µà®°à¯à®•à®³à¯ எனà¯à®•à®¿à®©à¯à®±à®©à®°à¯. இவரà¯à®•à®³à¯ மூலதà¯à®¤à¯ˆà®¤à¯ தெனà¯à®©à®¿à®¨à¯à®¤à®¿à®¯à®¾à®µà®¿à®²à¯ மடà¯à®Ÿà¯à®®à®©à¯à®±à®¿à®ªà¯ பாரசீகமà¯, ஈழம௠போனà¯à®± பகà¯à®¤à®¿à®•à®³à®¿à®²à¯à®®à¯ ஆயà¯à®µà®¾à®³à®°à¯à®•à®³à¯ தேடியà¯à®³à¯à®³à®¾à®°à¯à®•à®³à¯. à®®à¯à®±à¯à®•à®¾à®²à®ªà¯ பலà¯à®²à®µà®°à¯à®•à®³à¯ வெளியிடà¯à®Ÿ சாசனஙà¯à®•à®³à®¿à®©à¯ மொழி மறà¯à®±à¯à®®à¯ அவறà¯à®±à®¿à®©à¯ உளà¯à®³à®Ÿà®•à¯à®•à®™à¯à®•à®³à¯ˆ வைதà¯à®¤à¯, இவரà¯à®•à®³à¯ இநà¯à®¤à®¿à®¯à®¾à®µà®¿à®©à¯ வடபகà¯à®¤à®¿à®¯à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ வநà¯à®¤ à®'ர௠பிராமணகà¯à®•à¯à®Ÿà®¿à®¯à®¿à®©à®°à¯ எனà¯à®±à¯ சிலர௠கரà¯à®¤à¯à®•à®¿à®±à®¾à®°à¯à®•à®³à¯. பிறà¯à®•à®¾à®²à®¤à¯à®¤à®¿à®²à¯ அரசியல௠நிலைமைகளைக௠கரà¯à®¤à¯à®¤à®¿à®²à¯ கொணà¯à®Ÿà¯ பலà¯à®²à®µà®°à¯à®•à®³à¯ தமிழ௠மொழியின௠பயனà¯à®ªà®¾à®Ÿà¯à®Ÿà¯ˆ à®à®±à¯à®±à¯à®•à¯à®•à¯Šà®£à¯à®Ÿà®¤à®¾à®•à®¤à¯ தெரிகிறதà¯.', 'set2883c92900dc63b1d8c69bb9824b7f96', NULL, '4', 5, NULL, NULL, NULL, NULL, NULL, 1), 
    (16, 'மறà¯à®±à®µà®°à¯à®•à®³à¯', 'சேர சோழ பாணà¯à®Ÿà®¿à®¯ பலà¯à®²à®µà®°à¯ அலà¯à®²à®¾à®¤ மனà¯à®©à®°à¯à®•à®³à¯, கà¯à®±à¯ நில மனà¯à®©à®°à¯à®•à®³à¯', 'set2015c864ee11b1299e6440d8a2bfacda', NULL, '5', 5, NULL, NULL, NULL, NULL, NULL, 1), 
    (17, 'பிற மொழிகளà¯', '', 'set6e3338a3f3b9f21f5086563b912eaee7', NULL, NULL, 3, NULL, NULL, NULL, NULL, NULL, 1), 
    (18, 'மொழி வழகà¯à®•à¯à®•à®³à¯', '', 'set38de43659e6c6de074b139179b400b6c', NULL, NULL, 3, NULL, NULL, NULL, NULL, NULL, 1), 
    (13, 'சோழரà¯à®•à®³à¯', '', '8cd76b2615a3c5f364cbbc0e78852efe', NULL, '2', 5, NULL, NULL, NULL, NULL, NULL, 1); 

感謝的語言。

+1

我失去了你在這裏吃什麼菜應該是like' – hjpotter92 2012-03-28 10:48:10

+0

這是什麼問題?你嘗試過什麼? – scibuff 2012-03-28 10:48:43

+0

也許我應該包括一個圖像,解釋我正在嘗試的東西,我會在一秒鐘 – Kmanikandan 2012-03-28 10:52:37

回答

0

我做到這一點使用遞歸函數,沿着線的東西:

function get_pages ($parent_id='') { 
    if ($parent_id == '') {  // if first call to function there's no parent id 
    $pages = list of pages from db //use your own code here to pull all cats with no parent 
    } 
    else { 
    $pages = list of pages with $parent_id as their parent_id 
    } 

    echo "<ul>"; //open list 
    foreach ($result as $page) { 
    echo "<li><a href=' << path to this page >> '></li>"; 
    $query = code to check for pages with this page as their parent 
    if (query returns a result - ie there are sub pages) { 
     get_pages($page['id']); // this is the key, the function calls itself passing the current page as the parent so it only gets the sub pages 
    } 
    } 
    echo "</ul>"; 
} 



}