Page 1 sur 1

Trier les résultats d'une requête

Posté : 07 oct. 2006, 17:54
par jpsartre
Bonjour,

J'ai fait une requête pour sortir une liste de liens classés par catégories mais j'aimerais que le nom de la catégorie ne s'affiche qu'une seule fois car pour l'instant il s'affiche avec chaque enregistrement et donc est répétée.
A part faire une requête par catégorie je ne vois pas quoi faire.

Si quelqu'un peut m'aider, car je pense que je peux faire autrement que une requête par catégorie mais je ne vois pas..

Le code :
<div id="listeliens">
<?
include ('Admin/connexion.php');
	$titre = StripSlashes ($titre);
		$description = StripSlashes ($description);
				$result = mysql_query('SELECT * FROM liens ORDER BY titre ASC');
	if($result)
	{
	 	while($Record = mysql_fetch_object($result))
		{

?>
   <h3><?=$Record->categorie?></h3>   
    <h4><a href="<?=$Record->url?>" title="<?=$Record->url?>"><?=$Record->titre?></a></h4>
    <p><?=$Record->description?></p>
    <h5>
      <?=$Record->url?>
      </h5>
	<?
		}
	} else {
			echo"erreur de requête";
}
		mysql_close();
	?>
</div>
Merci d'avance

Posté : 07 oct. 2006, 17:58
par Erazer
Bonjour,


tu peux utiliser distinct.

SELECT DISTINCT(categorie) ....


Cependant, je dirai que tu aurais plus facile avec une table qui contient les catégories

et une autre table qui contient les infos sur les sites ainsi que l'ID de la catégorie

Posté : 07 oct. 2006, 18:14
par jpsartre
Merci mais quand je mets le distinct, alors j'ai bien mes trois catégories mais je n'ai plus mes enregistrements.
Si quelqu'un y voit clair...

Posté : 07 oct. 2006, 18:23
par Erazer
d'ou l'avantage d'avoir deux tables.

vu comme ça, à part faire une requête pour récupérer les différentes catégorie

et ensuite faire une requête par cétégorie pour récupérer les informations,

je vois pas trop.

Posté : 07 oct. 2006, 18:28
par jpsartre
Merci pour ton aide,
je crois que je vais faire les deux tables, comme je dois ajouter un module qui utilisera les mêmes catégories ça me servira par le suite.
Je vais essayer,

Merci encore

Posté : 07 oct. 2006, 18:30
par Erazer
sage décision :)

pour la suite, tu peux utiliser les jointures pour récupérer les résultats.
LEFT JOIN en principe.

bonne continuation (pense à mettre résolu dans ton titre)