|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Membre actif
![]() Date d'inscription: mai 2008
Messages: 173
|
Bonjour à tous,
Voila j'aurai besoin d'un avis, j'ai une table forum_cat qui enregistre toute les catégorie, les sous catégorie et sous-sous catégorie. Afin de récupéré le tout pour afficher la home du forum, vaut il mieux que je fasse: Code :
CREATE PROCEDURE `ForumParentGet`( IN _parentID INT ) BEGIN SELECT SQL_CACHE c1.id as categorieID, c1.title as categorieTitle, c1.description as categorieDesc, c1.nbtopic as categorieNbTopic, c1.nbreply as categorieNbReply, CONCAT(c2.id,';;', c2.title,';;', c2.description,';;', c2.nbtopic,';;', c2.nbreply) as categorieChild, CONCAT(c3.id,';;', c3.title,';;', c3.description,';;', c3.nbtopic,';;', c3.nbreply) as categorieUnderChild FROM forum_cat c1 LEFT OUTER JOIN forum_cat c2 ON c2.parentID = c1.id LEFT OUTER JOIN forum_cat c3 ON c3.parentID = c2.id WHERE c1.parentID = _parentID; END Code :
Array ( [categorieID] => 1 [categorieTitle] => Forum 1 [categorieDesc] => [categorieNbTopic] => 0 [categorieNbReply] => 0 [categorieChild] => 3;;Forum 1-1;;description;;0;;0 [categorieUnderChild] => 7;;Forum 1-1-1;;description;;0;;0 ) Array ( [categorieID] => 1 [categorieTitle] => Forum 1 [categorieDesc] => [categorieNbTopic] => 0 [categorieNbReply] => 0 [categorieChild] => 3;;Forum 1-1;;description;;0;;0 [categorieUnderChild] => 8;;Forum 1-1-2;;description;;0;;0 ) Array ( [categorieID] => 1 [categorieTitle] => Forum 1 [categorieDesc] => [categorieNbTopic] => 0 [categorieNbReply] => 0 [categorieChild] => 4;;Forum 1-2;;description;;0;;0 [categorieUnderChild] => 9;;Forum 1-2-1;;description;;0;;0 ) Array ( [categorieID] => 1 [categorieTitle] => Forum 1 [categorieDesc] => [categorieNbTopic] => 0 [categorieNbReply] => 0 [categorieChild] => 4;;Forum 1-2;;description;;0;;0 [categorieUnderChild] => 10;;Forum 1-2-2;;description;;0;;0 ) Array ( [categorieID] => 2 [categorieTitle] => Forum 2 [categorieDesc] => [categorieNbTopic] => 0 [categorieNbReply] => 0 [categorieChild] => 5;;Forum 2-1;;description;;0;;0 [categorieUnderChild] => 11;;Forum 2-1-1;;description;;0;;0 ) Array ( [categorieID] => 2 [categorieTitle] => Forum 2 [categorieDesc] => [categorieNbTopic] => 0 [categorieNbReply] => 0 [categorieChild] => 5;;Forum 2-1;;description;;0;;0 [categorieUnderChild] => 12;;forum 2-1-2;;description;;0;;0 ) Array ( [categorieID] => 2 [categorieTitle] => Forum 2 [categorieDesc] => [categorieNbTopic] => 0 [categorieNbReply] => 0 [categorieChild] => 6;;Forum 2-2;;description;;0;;0 [categorieUnderChild] => 13;;Forum 2-2-1;;description;;0;;0 ) Array ( [categorieID] => 2 [categorieTitle] => Forum 2 [categorieDesc] => [categorieNbTopic] => 0 [categorieNbReply] => 0 [categorieChild] => 6;;Forum 2-2;;description;;0;;0 [categorieUnderChild] => 14;;Forum 2-2-2;;description;;0;;0 ) ou: Code :
CREATE PROCEDURE `ForumParentGet`( ) BEGIN SELECT SQL_CACHE id, parentID, title, description, nbtopic, nbreply FROM forum_cat; END Code :
Array ( [id] => 1 [parentID] => 0 [title] => Forum 1 [description] => [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 2 [parentID] => 0 [title] => Forum 2 [description] => [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 3 [parentID] => 1 [title] => Forum 1-1 [description] => [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 4 [parentID] => 1 [title] => Forum 1-2 [description] => [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 5 [parentID] => 2 [title] => Forum 2-1 [description] => [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 6 [parentID] => 2 [title] => Forum 2-2 [description] => [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 7 [parentID] => 3 [title] => Forum 1-1-1 [description] => [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 8 [parentID] => 3 [title] => Forum 1-1-2 [description] => [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 9 [parentID] => 4 [title] => Forum 1-2-1 [description] => [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 10 [parentID] => 4 [title] => Forum 1-2-2 [description] => description [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 11 [parentID] => 5 [title] => Forum 2-1-1 [description] => description [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 12 [parentID] => 5 [title] => forum 2-1-2 [description] => description [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 13 [parentID] => 6 [title] => Forum 2-2-1 [description] => description [nbtopic] => 0 [nbreply] => 0 ) Array ( [id] => 14 [parentID] => 6 [title] => Forum 2-2-2 [description] => description [nbtopic] => 0 [nbreply] => 0 ) Merci beaucoup d'avance Edit: j'ai remarquer que a deuxième requete SQL s'éxecute pus rapidement mais le traitement php est plus long pour l'organisation. à terme, c'est à dire, imaginons, avec plusieurs milliers de membres, mieux vaut il allégé le serveur mysql au détriement de php ou l'inversse ? Merci encore Dernière modification par xxkirastarothxx ; 05/02/2010 à 19h08. |
|
|
|
|
|
![]() |
||
Récupération récursive de catégorie
|
||
| Outils de la discussion | |
|
|