douan6815 2011-12-06 20:14
浏览 38
已采纳

由menu_id组成的MySql组

Table definition:

CREATE TABLE IF NOT EXISTS `submenu_cat` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `menu_id` int(11) NOT NULL,
  `href` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
  `title` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
  `page_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `menu_id` (`menu_id`),
  KEY `page_id` (`page_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;

Table data:

--
-- Άδειασμα δεδομένων του πίνακα `submenu_cat`
--

INSERT INTO `submenu_cat` (`id`, `menu_id`, `href`, `title`, `page_id`) VALUES
(1, 2, 'educational_events', 'Εκπαιδευτικές Εκδηλώσεις', 1),
(2, 2, 'announcements', 'Ανακοινώσεις', 1),
(3, 2, 'party', 'Party-Χοροί', 1),
(4, 2, 'various', 'Λοιπές δραστηριότητες', 1),
(5, 3, 'dap_hmmy', 'Προτάσεις ΔΑΠ-ΝΔΦΚ ΗΜΜΥ', 1),
(6, 3, 'dap_emp', 'Προτάσεις ΔΑΠ-ΝΔΦΚ ΕΜΠ', 1),
(7, 3, 'dap_aei', 'Προτάσεις ΔΑΠ-ΝΔΦΚ ΑΕΙ', 1);

Table constraints:

--
-- Περιορισμοί για πίνακα `submenu_cat`
--
ALTER TABLE `submenu_cat`
  ADD CONSTRAINT `submenu_cat_ibfk_1` 
    FOREIGN KEY (`menu_id`) 
      REFERENCES `menu_cat` (`id`) 
    ON UPDATE CASCADE,
  ADD CONSTRAINT `submenu_cat_ibfk_2` 
    FOREIGN KEY (`page_id`) 
      REFERENCES `pages` (`id`) 
    ON UPDATE CASCADE;

I wont to write in php something like that executes this

<ul id="m2">
   <li><a href="">Εκπαιδευτικές εκδηλώσεις</a></li>
   <li><a href="">Ανακοινώσεις</a></li>
   <li><a href="">Party-Χοροί</a></li>
   <li><a href="">Λοιπές δραστηριότητες</a></li>
</ul>
<ul id="m3">
   <li><a href="">Προτάσεις ΔΑΠ-ΝΔΦΚ ΗΜΜΥ</a></li>
   <li><a href="">Προτάσεις ΔΑΠ-ΝΔΦΚ ΕΜΠ</a></li>
   <li><a href="">Προτάσεις ΔΑΠ-ΝΔΦΚ ΑΕΙ</a></li>
</ul>

Can I do this with one query?

This will be done with one while loop? Or two?

  • 写回答

3条回答 默认 最新

  • donglu9872 2011-12-06 20:21
    关注
    $result = mysql_query("SELECT menu_id,title FROM submenu_cat ORDER BY menu_id");
    
    $last = -1;
    while($result && $row = mysql_fetch_assoc($result)) {
       if ($last != $row['menu_id']) {
           if ($last != -1) {
               print "</ul>
    ";
           }
           print "<ul id=\"m{$row['menu_id']}\">
    ";
           $last = $row['menu_id'];
       } 
       print "  <li><a href=\"\">".htmlentities($row['title'])."</a></li>
    ";
    }
    if ($last != -1) {
       print "</ul>
    ";
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件