Faire une boucle qui n'affiche que les entrées différentes

Faire une boucle qui n'affiche que les entrées différentes - PHP - Programmation

Marsh Posté le 13-01-2007 à 15:14:45    

Bonjour,  :hello:

 

Je débute en PHP et j'ai créé un script de news pour mon site. Ma table contient les champs id, titre, contenu, cat (catégorie de la news), et timestamp.

 

Pour l'instant j'ai fais une boucle pour afficher toutes les news, et des liens pour n'afficher les news que d'une seule catégorie du genre :

Code :
  1. <a href="news.php?cat=Actualité">Actualité</a>


Ca marche nickel, mais maintenant je voudrais lister automatiquement les catégories et par la même occasion leur lien de la même forme que ci dessus.
J'ai testé avec une boucle while simple, qui affiche les entrées du champs cat, mais forcément, si j'ai par exemple 3 news dont la cat est "Actualité", 2 dont la cat est Divers et 1 dont la cat est autre (oui c'est un exemple :p ) la boucle affiche "Actualité Actualité Actualité Divers Divers Autre".

 

Ce que j'aimerais, c'est que la boucle n'affiche que les entrées qui sont différentes, pour revenir a mon exemple, ça donnerais : "Actualité, Divers, Autre".

 

En espérant que vous ayez compris mon problème, merci d'avance  ;)

Reply

Marsh Posté le 13-01-2007 à 15:14:45   

Reply

Marsh Posté le 13-01-2007 à 15:23:35    

Il faut peut être changer la requête pour qu'elle ne renvoie que les valeurs différentes :
SELECT DISTINCT cat FROM ...
 
Ou alors, si c'est trié, garder la valeur précédente et n'afficher la nouvelle que si elle est différente [:proy]

Reply

Marsh Posté le 13-01-2007 à 21:24:17    

mrbebert a écrit :

Il faut peut être changer la requête pour qu'elle ne renvoie que les valeurs différentes :
SELECT DISTINCT cat FROM ...

 

Ou alors, si c'est trié, garder la valeur précédente et n'afficher la nouvelle que si elle est différente  [:proy]


Ah merci beaucoup je ne conaissais pas le DISTINCT. ;)
Je vais faire mes tests et je reposterais si j'ai encore un problème.

 

Encore merci mrbebert  [:chris barnes]

Reply

Sujets relatifs:

Leave a Replay

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