Boucle : Classer par champ avec affichage unique
Salut,
Mon titre laisse un peu à désirer alors je vais donner un exemple concret :
J'ai une table info avec les champs : ID / TITRE / MESSAGE / CATEGORIE
Je voudrais pouvoir afficher les résultats en classant par CATEGORIE avec un affichage :
MA CATEGORIE A
- L'info d'une catégorie A
- L'info d'une catégorie A
- L'info d'une catégorie A
MA CATEGORIE B
- L'info d'une catégorie B
MA CATEGORIE C
- L'info d'une catégorie C
- L'info d'une catégorie C
Mon problème c'est que je n'arrive pas à mettre à jour la catégorie pour passer à la suivante.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| $infos = $sql->query("SELECT * FROM "._INFOS_." ORDER BY categorie ASC");
$cat = '';
while ($results = mysql_fetch_assoc($infos)) {
if ($cat != $results['categorie']) {
$tpl->assign_vars(array(
'CATEGORIE' => $results['categorie'],
));
$tpl->assign_block_vars('liste_infos', array(
'TITRE' => $results['titre'],
));
}
$cat = $results['categorie'];
} |
A l'affichage, la requête m'affiche 1 seule catégorie avec 1 seule info par catégorie de cette manière :
MA CATEGORIE B
- L'info d'une catégorie A
- L'info d'une catégorie B
- L'info d'une catégorie C
Si quelqu'un pouvait me filer un coup de pouce, ça serait super!;)