· 8 years ago · Aug 11, 2018, 06:12 AM
1MySql group by menu_id
2CREATE TABLE IF NOT EXISTS `submenu_cat` (
3 `id` int(11) NOT NULL AUTO_INCREMENT,
4 `menu_id` int(11) NOT NULL,
5 `href` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
6 `title` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
7 `page_id` int(11) NOT NULL,
8 PRIMARY KEY (`id`),
9 KEY `menu_id` (`menu_id`),
10 KEY `page_id` (`page_id`)
11) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
12
13--
14-- Άδειασμα δεδομÎνων του πίνακα `submenu_cat`
15--
16
17INSERT INTO `submenu_cat` (`id`, `menu_id`, `href`, `title`, `page_id`) VALUES
18(1, 2, 'educational_events', 'ΕκπαιδευτικÎÏ‚ Εκδηλώσεις', 1),
19(2, 2, 'announcements', 'Ανακοινώσεις', 1),
20(3, 2, 'party', 'Party-ΧοÏοί', 1),
21(4, 2, 'various', 'ΛοιπÎÏ‚ δÏαστηÏιότητες', 1),
22(5, 3, 'dap_hmmy', 'Î Ïοτάσεις ΔΑΠ-ÎΔΦΚ ΗΜΜΥ', 1),
23(6, 3, 'dap_emp', 'Î Ïοτάσεις ΔΑΠ-ÎΔΦΚ ΕΜΠ', 1),
24(7, 3, 'dap_aei', 'Î Ïοτάσεις ΔΑΠ-ÎΔΦΚ ΑΕΙ', 1);
25
26--
27-- ΠεÏιοÏισμοί για πίνακα `submenu_cat`
28--
29ALTER TABLE `submenu_cat`
30 ADD CONSTRAINT `submenu_cat_ibfk_1`
31 FOREIGN KEY (`menu_id`)
32 REFERENCES `menu_cat` (`id`)
33 ON UPDATE CASCADE,
34 ADD CONSTRAINT `submenu_cat_ibfk_2`
35 FOREIGN KEY (`page_id`)
36 REFERENCES `pages` (`id`)
37 ON UPDATE CASCADE;
38
39<ul id="m2">
40 <li><a href="">ΕκπαιδευτικÎÏ‚ εκδηλώσεις</a></li>
41 <li><a href="">Ανακοινώσεις</a></li>
42 <li><a href="">Party-ΧοÏοί</a></li>
43 <li><a href="">ΛοιπÎÏ‚ δÏαστηÏιότητες</a></li>
44</ul>
45<ul id="m3">
46 <li><a href="">Î Ïοτάσεις ΔΑΠ-ÎΔΦΚ ΗΜΜΥ</a></li>
47 <li><a href="">Î Ïοτάσεις ΔΑΠ-ÎΔΦΚ ΕΜΠ</a></li>
48 <li><a href="">Î Ïοτάσεις ΔΑΠ-ÎΔΦΚ ΑΕΙ</a></li>
49</ul>
50
51$result = mysql_query("SELECT menu_id,title FROM submenu_cat ORDER BY menu_id");
52
53$last = -1;
54while($result && $row = mysql_fetch_assoc($result)) {
55 if ($last != $row['menu_id']) {
56 if ($last != -1) {
57 print "</ul>n";
58 }
59 print "<ul id="m{$row['menu_id']}">n";
60 $last = $row['menu_id'];
61 }
62 print " <li><a href="">".htmlentities($row['title'])."</a></li>n";
63}
64if ($last != -1) {
65 print "</ul>n";
66}
67
68SELECT menu_id, href, title, page_id FROM submenu_cat ORDER BY menu_id
69
70//for loop
71
72 if($menu_id != $last_menu_id){
73 // close previous UL (if exists) </ul>...
74 // show new UL with id <ul id="...
75 }
76
77 echo <li>... // echo your link for the menu here using SQL values
78
79// end for loop
80
81<?php
82 (($con = mysql_connect('localhost','root','password'))
83 &&
84 mysql_select_db('test',$con))
85 ||
86 die(mysql_errno());
87
88
89 $query = mysql_query('select * from submenu_cat ORDER BY menu_id ASC');
90
91 $last_sub_menu = 0;
92 while($submenu_cat = mysql_fetch_assoc($query)) :
93 if($isNew = !($last_sub_menu == $submenu_cat['menu_id'])):
94 if($last_sub_menu != 0)
95 echo '</ul>';
96 $last_sub_menu = $submenu_cat['menu_id'];
97 ?>
98 <ul id="m<?php echo $submenu_cat['menu_id'];?>">
99 <?php endif;?>
100 <li><a href="<?php echo $submenu_cat['href']?>"><?php echo $submenu_cat['title']?></a></li>
101 <?php endwhile; ?>
102 </ul>
103
104<ul id="m2">
105 <li><a href="educational_events">ΕκπαιδευτικÎÏ‚ Εκδηλώσεις</a></li>
106 <li><a href="announcements">Ανακοινώσεις</a></li>
107 <li><a href="party">Party-ΧοÏοί</a></li>
108 <li><a href="various">ΛοιπÎÏ‚ δÏαστηÏιότητες</a></li>
109 </ul>
110 <ul id="m3">
111 <li><a href="dap_hmmy">Î Ïοτάσεις ΔΑΠ-ÎΔΦΚ ΗΜΜΥ</a></li>
112 <li><a href="dap_emp">Î Ïοτάσεις ΔΑΠ-ÎΔΦΚ ΕΜΠ</a></li>
113 <li><a href="dap_aei">Î Ïοτάσεις ΔΑΠ-ÎΔΦΚ ΑΕΙ</a></li>
114 </ul>