SteadyMedlem sedan dec. 2004225 inlägg Hejsan!
Undrar om någon kan hjälpa mig med denna svårknäckta nöt.
Jag har en tabell som heter menu som ser ut som följande:
ID - [i]int / auto_increment[/i]
Menu - [i]varchar[/i]
SubMenu - [i]int[/i]
Jag försöker bygga upp ett menysystem där Menu innehåller namnet på länken och där SubMenu är 0 om det inte är någon undermeny, annars är det ett ID som hänvisar till en Menu som har SubMenu 0. Det jag vill göra är alltså att lista alla Menu som har SubMenu 0 och sedan lista alla SubMenu:er därunder.
Exempel:
[b]ID - Menu - SubMenu[/b]
1 Datordelar 0
2 Grafikkort 1
3 Moderkort 1
4 Ljudkort 1
5 Kameror 0
6 Digitalkameror 5
7 Analoga kameror 5
Måste jag göra detta genom att lägga en loop i en loop eller finns det något enklare sätt?
Hoppas ni förstår principen och kan hjälpa mig med detta.
Tack på förhand!
SteadyMedlem sedan dec. 2004225 inlägg Okej, jag fick lösa det med loop i loop. Nu till en annan fråga.
Jag skulle vilja räkna hur många artiklar det finns i varje meny. Alltså en Count i SELECT:en som räknar på antalet artiklar som har MenuID = menu.ID.
Artikeltabellen heter article och har MenuID som relationskolumn.
Tack på förhand
Peter SMedlem sedan dec. 20025 483 inlägg select a.menuid, count(*) as total
from article a, menu m
where a.menuid = m.id
group by a.menuid
:)
SteadyMedlem sedan dec. 2004225 inlägg Fint, den listar dock inte alla poster, vet inte riktigt varför. Något jag missat?
SELECT a.MenuID, m.ID, m.Menu, Count(a.MenuID) AS total
FROM article a, menu m
WHERE m.SubMenu = 0 AND a.MenuID = m.ID
GROUP BY a.MenuID
Peter SMedlem sedan dec. 20025 483 inlägg Testa denna:
select m.id, m.menu, count(*) as total
from menu m
left outer join article a
on m.id = a.menuid
where m.submenu = 0
group by m.id, m.menu
:)
SteadyMedlem sedan dec. 2004225 inlägg Funkade kanonfint! Tack så mycket. :)