Lister catégories une seule fois

Lister catégories une seule fois - PHP - Programmation

Marsh Posté le 29-09-2009 à 09:10:15    

Salut à vous,  
 
Je suis en train de créer un site qui rejoint le concept du blog et je rencontre des difficultés pour lister les catégories; je m'explique :
 
A chaque fois que j'écris un post, je précise la catégorie (par l'intermédiaire d'un input type="text" ) et je voudrais lister toutes les catégories qui existent dans le menu à gauche de façon à ce que lorsque le visiteur clique sur une des catégories, seuls les posts de cette catégorie soient listés.
 
Mon problème est que je ne vois pas comment créer une requete sql qui n'afficherait pas les doublons de catégorie.  
Soit par exemple cette table :
 
ID          | TITRE            | TOPIC                     | CATEGORIE
================================================
0           | titre 1            | topic 1                    | graphisme
--------------------------------------------------------------
1           | titre 2            | topic 2                    | internet
--------------------------------------------------------------
2           | titre 3            | topic 3                    | graphisme
 
Quand je liste les catégories dans le menu je vais avoir
 
-graphisme
-internet
-graphisme
 
Je voudrais que chaque catégorie n'apparaisse qu'une fois.
 
Voilà le code de ma requete pour le menu:
 

Code :
  1. while ($req = mysql_fetch_array($topics))
  2.  {
  3.   echo '<tr><td height="20" align="left" background="menu_sous.png"><a href="index.php?cat='.$req['cat'].'" target="_self">'.$req['cat'].'</a></td></tr>';
  4.  }


 
Evez-vous une idée ?
Merci d'avance.

Reply

Marsh Posté le 29-09-2009 à 09:10:15   

Reply

Marsh Posté le 29-09-2009 à 09:55:01    

ce n'est pas un pb php, mais sql, je t'invite à te renseigner sur le mot clé distinct
 
PS: ça serait plus propre d'avoir une table categories...

Reply

Marsh Posté le 29-09-2009 à 10:10:32    

éviter distinct qui ralentit tout, préférer group by (ici, group by cat).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 29-09-2009 à 11:01:46    

rufo a écrit :

éviter distinct qui ralentit tout, préférer group by (ici, group by cat).

dans ce genre de requête non :
http://dev.mysql.com/doc/refman/5. [...] ation.html

Reply

Marsh Posté le 29-09-2009 à 14:03:03    

merci pour l'info, dans la v3.x, c'était pas le cas.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed