Versio

Forum, hoofd- & subcategorie

Overzicht Reageren

Milo S

Milo S

01/09/2010 21:24:31
Quote Anchor link
Beste,

Ik ben al tijdje bezig met forum´s bouwen e.d maar uit een ding blijf ik maar niet komen, de index pagina. Ik wil de volgende opbouw maken:

School
- Docenten
- Huiswerk
- De klas

Website´s
- PHP Scripten
- Basis leren
- Gratis sites

Dit is maar een klein voorbeeldje maar ik denk dat je zo wel snap wat ik wil bereiken, een standaard forum index pagina.

Dit wil ik met de volgende database structuur:

Categorie
- id
- parent_id
- title

Momenteel laat ik daar de volgende query op los:

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
18
<?php
$selQry
=
"
SELECT
    c.id AS c_id,
    c.parent_id,
    c.title,
    t.id AS t_id,
    t.user_id,
    t.addDate
FROM
    categorie c
LEFT JOIN
    topic t
ON
    c.parent_id = t.cat_id
"
;
?>


Het gedeelte van dat topic joinen is niet heel belangrijk dat lukt me allemaal wel.
Het probleem nu is dat hij het laat zien maar staan de categorieën door elkaar in de database? Dan staan de subcategorieën op verkeerde plekken... Iemand enig idee hoe ik dit kan oplossen?
Gewijzigd op 01/09/2010 21:33:55 door Milo S
 
PHP hulp

PHP hulp

24/05/2012 17:08:49
Gesponsorde koppelingen:
 
Jens V

Jens V

01/09/2010 21:48:20
Quote Anchor link
Kan het dat je query niet overeen komt met de vraag? Je vraag gaat over categorieën en subcategorieën. Hier komen ineens topic bij kijken?
 
Pim -

Pim -

01/09/2010 23:06:00
Quote Anchor link
Wat wil je nou precies met die query bereiken?
 
Milo S

Milo S

02/09/2010 15:25:56
Quote Anchor link
@ Jens V, nee de titel komt prima overeen met de vraag en de query.

@ Pim de Haan;
Dat de hoofd en subcategoriën uit 1 tabel worden gehaald. Het topic gebeuren zit er wat Jens V zegt wel al in maar dat werkt ook.
Het probleem wat ik nu heb is dat hij de hoofd en subcategorieën niet goed uit de database haalt, als ze niet op de goede volgorde er in zitten.
 
Jens V

Jens V

02/09/2010 16:05:00
Quote Anchor link
Heb je al eens geprobeerd er GROUP BY parent_id bij te zetten?
 
Arjan -

Arjan -

02/09/2010 16:35:36
Quote Anchor link
@jens: daar bereik je niets mee, want hij wil een overzicht van alle categorieen met bijbehorende subcategorieen.

Wat je zou kunnen doen is alle records uit de database halen en door middel van een foreach lus een nieuwe array maken die de juiste nested elementen bevat. (zit nu op mn mobiel dus kan geen uitgebreid voorbeeld geven)

Of je gebruikt een aparte tabel voor de hoofdcategorieen.
 
Jens V

Jens V

02/09/2010 16:43:30
Quote Anchor link
Of je maakt twee queries, de ene om de categorieën op te halen en binnen de lus van die resultaten een om de subcategorieën op te halen. Niet de elegantste, maar wel de simpelste oplossing...

Jens
 
Milo S

Milo S

03/09/2010 16:12:52
Quote Anchor link
@ Jens V; Ik had dat indd al geprobeerd ;).

@ Arjan, hmmm klinkt interessant kan je me beetje uitleggen hoe dat in z'n werk gaat?

@ Jens V; Dat snap ik, maar ik probeer het nu juist zo mooi mogelijk te maken :P
 
Pim -

Pim -

03/09/2010 16:23:35
Quote Anchor link
Met twee lagen lukt het nog wel in 1 query, met veel meer wordt je query onmogelijk lang.
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
SELECT
    cat.id as cat_id,
    cat.title as cat_title,

    sub_cat.id as sub_cat_id,
    sub_cat.title as sub_cat_title
FROM
    categorie cat
JOIN
    categorie sub_cat
ON
    cat.id = sub_cat.parent_id
ORDER BY
    cat.id
Gewijzigd op 03/09/2010 17:48:55 door Pim -
 



Overzicht Reageren

Get Adobe Flash player