Alle subpages en sub-subpages ophalen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pong Zor

Pong Zor

09/10/2012 11:47:59
Quote Anchor link
Ik wil graag alle subpaginages en sub-sub paginas en misschien wel sub sub sub sub sub sub pagina's van de bovenliggende pagina ophalen

stel:
- hoofdpagina 1
-- subpagina 1
-- subpagina 2
--- sub subpagina 1
--- sub subpagina 2
-- subpagina 3
--- sub subpagina 3

etc. etc.

Normaal zou ik het zo doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
            $query_menu = sprintf("SELECT pagina_id, naam, seo_url, intern, extern, is_menu, status FROM paginas WHERE hoofdpagina_id='%s' AND taal_id='%s' AND is_menu='%s' AND status='%s' ORDER BY sorteervolgorde",
                mysql_real_escape_string('0'),
                mysql_real_escape_string($taal_id),
                mysql_real_escape_string('1'),
                mysql_real_escape_string('1')
            );


Maar nu moet ik dus elke keer een nieuwe while lus gaan maken en weet ik niet hoe diep de diepste pagina zit.

Kan ik dit niet in 1 keer doen op 1 of andere manier?
 
PHP hulp

PHP hulp

22/12/2024 07:28:08
 
John D

John D

09/10/2012 11:49:27
Quote Anchor link
Je voorbeeld kan je niet met SQL op die manier indelen. Zal je toch achteraf moeten doen in php vrees ik.
Gewijzigd op 09/10/2012 11:50:55 door John D
 
Chris PHP

Chris PHP

09/10/2012 11:49:37
Quote Anchor link
Hoe is je database ingedeeld? Zijn de sub pagina's gelinked aan de boven pagina's? Staan ze allemaal los in je database?
 
- Ariën  -
Beheerder

- Ariën -

09/10/2012 11:50:33
Quote Anchor link
Het volgende voorbeeld mag dan wel over een menu gaan, maar je kan het ook gebruiken voor een pagina-systeem...

http://crisp.tweakblogs.net/blog/317/formatting-a-multi-level-menu-using-only-one-query.html
 
Pong Zor

Pong Zor

09/10/2012 11:51:03
Quote Anchor link
Elke pagina heeft een pagina_id en een hoofdpagina_id. Als een pagina een hoofdpagina is heeft die een hoofdpagina_id van 0. Als de pagina een subpagina is dan heeft de pagina een hoofdpagina_id van de bovenliggende pagina

Toevoeging op 09/10/2012 13:52:23:

Uiteindelijk is het hier mee gelukt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    function maakMenu($parent = 0){
        $html = '<ul>';
        $query = mysql_query("SELECT pagina_id, naam, seo_url FROM paginas WHERE hoofdpagina_id = '" . $parent . "'");
        while($rij = mysql_fetch_assoc($query)){
            $huidig_id = $rij['pagina_id'];
            $html .= '<li><a href="' . $rij['pagina_id'] . '/' . $rij['seo_url'] . '">' . $rij['naam'] . '</a>';
            
            $has_sub = '';
            $has_sub = mysql_num_rows(mysql_query("SELECT pagina_id FROM paginas WHERE hoofdpagina_id = '" . $huidig_id . "'"));
            if($has_sub){
                $html .= maakMenu($huidig_id);
            }
            $html .= '</li>';
        }
        $html .= '</ul>';
        return $html;
    }
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.