FAQ |
Kalender |
|
![]() |
#1 | ||
|
|||
Klarade millennium-buggen
|
Typiskt rekursiv funktion, dvs funktionen kollar om parent är NULL, är den det så vet den att den nått ROOT-nivån i trädstrukturen, annars anropar den sig själv igen med parent som ID.
Pseudocode: Kod:
function category(categoryID) if (categoryID==NULL) // Nu har vi nått root-nivån else // Slå upp den nya parentID för aktuell categoryID från SQL // Här kör du SQL-satsen.... // Sen anropar du category()-funktionen igen med parentID som parameter category(parentID) endif End function Senast redigerad av Conny Westh den 2012-10-03 klockan 01:54 |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Mycket flitig postare
|
Samma sak kan göras direkt i SQL om du vill.
I MSSQL är det relativt billigt att skapa temptabeller vilket man tillsammans med en sp skulle använda för att skriva en rekursiv, ehm, sp. Vet inte hur det är i MySQL som jag misstänker att du använder dig av men det vet säkert någon annan här. Min hjärna är dock inte tillräckligt vaken för rekursiva anrop och framförallt inte i SQL men du kan ju kika på följande länk: http://www.google.se/search?hl=sv&cl...sv&q=recursion ![]() |
|||
![]() |
![]() |
Svara |
|
|