Hulp bij webwinkel (categorieen)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Herbert Foppen

Herbert Foppen

29/09/2008 21:29:00
Quote Anchor link
Mensen,

ik heb de volgende code om de categorieen uit mijn db te halen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php                        $rQueryCat = mysql_query ( "SELECT *
    FROM products_categorieen
                WHERE categorie_parent = 0
    ORDER BY categorie_naam ASC "
) or die ( mysql_error() );

while ( $aQueryCat = mysql_fetch_assoc ( $rQueryCat ) )
{
                        echo '&nbsp;&nbsp;-<a href="index.php?pagina=webwinkel&amp;cat='.stripslashes ( $aQueryCat['categorie_id'] ).'">'.stripslashes ( $aQueryCat['categorie_naam'] ).'</a><br />';

    bepaalSub($aQueryCat['categorie_id']);
}

?>


Hij gaat nu tot 2 niveau's diep. Lijkt nu voldoende, maar hoe krijg ik het makkelijk dat hij het in principe onbeperkt doet? Heb in tabel categorieen een id, omschrijving & parent_id

Belangrijkste vraag is even de menuopbouw. Hij toont nu alles direct onder elkaar. Ik wil eerst alleen 1ste niveau zien, als ik daarop klik de onderliggende (van die betreffende categorie). Hoe ga ik dat voor elkaar krijgen!?

gr
Herbert
Gewijzigd op 01/01/1970 01:00:00 door Herbert Foppen
 
PHP hulp

PHP hulp

22/12/2024 10:07:33
 
Jan Koehoorn

Jan Koehoorn

29/09/2008 21:33:00
Quote Anchor link
Onbeperkt? Hoe ziet je datamodel eruit? Wat is bijvoorbeeld de indeling van de tabel products_categorieen?
 
Martijn B

Martijn B

29/09/2008 21:36:00
 
Herbert Foppen

Herbert Foppen

29/09/2008 21:36:00
Quote Anchor link
CREATE TABLE IF NOT EXISTS `products_categorieen` (
`categorie_id` int(5) NOT NULL auto_increment,
`categorie_naam` varchar(255) NOT NULL default '',
`categorie_parent` int(5) NOT NULL default '0',
PRIMARY KEY (`categorie_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=72 ;
 
Martijn B

Martijn B

29/09/2008 21:39:00
Quote Anchor link
Een index op "categorie_parent" is geen overbodige luxe ;P
 
Jan Koehoorn

Jan Koehoorn

29/09/2008 21:40:00
Quote Anchor link
@ Martijn: dan stop je de query in een recursieve functie. Dat werkt wel, maar ik vind het vanuit usability-oogpunt niet echt handig. Een navigatie-menu met meer dan twee submenu's werkt niet echt lekker.

Dan kun je beter van tevoren zeggen: ik wil hooguit twee niveau's diep gaan en dit artikel even lezen.
 
Martijn B

Martijn B

29/09/2008 21:44:00
Quote Anchor link
Dat voorbeeld van crisp haalt gewoon alle categorieën op en verwerkt deze in een recursieve functie. Je kunt dus zoveel lagen (subcategorieën) hebben als je zelf wil.

Met javascript zorg je er voor dat de lagen zichtbaar worden.

Een voorbeeld hiervan is:
http://tweakers.net/pricewatch/

Onder het kopje "Productcategorieën". Volgens mij werkt dat op dezelfde manier namelijk.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
 



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.