Sauter une ligne lorsque l'on change de catégorie...

Résolu
Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009 - 1 août 2008 à 15:24
Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009 - 3 août 2008 à 16:27
Bonjour à tous,

Ma question est simple, et je suis sûr que la solution l'est tout autant. Mais vraiment je ne vois pas... Sans doute parce qu'on est vendredi ! :-)
Alors voilà :
<?php
 //
 // Je récupère les résultats dans ma table SQL à l'aide d'un SELECT :
 //   $sql2 "SELECT * FROM generate WHERE distance 'local' GROUP BY category"; 
   $sql2 = mysql_db_query($database_nxpcontent,$sql2); 
 //
 // Ensuite, je les affiche dans un tableau tout ce qu'il y a de plus classique à l'aide d'une boucle :
 //
   $tbl= "  
   ----
Titre\";

   while ($data = mysql_fetch_array($sql)) 
   {
   $tbl = $tbl . \"" . $data['name'] . ", \";
   $tbl = $tbl . \"" . $data['category'] . ", \";
   } 
   $tbl = $tbl . "
";


   print $tbl ;
?>

Ce que je souhaite faire, c'est sauter une ligne chaque fois que le change de catégorie, et inscrire le nom de cette catégorie à cette endroit.

Je n'ai pas d'idée, c'est tenté de faire une boucle en PHP ou même de modifier l'ordre SQL, mais je n'ai pas trouvé de solution...

Est ce quelqu'un a une idée ???

Merci à tous !

2 réponses

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
1 août 2008 à 18:03
Salut,

Pour faire ça, crée une varaible ou sera stocké le nom (ou l'ID, c'est préférable) de ta catégorie :
<?php
 //
 // Je récupère les résultats dans ma table SQL à l'aide d'un SELECT :
 //   $sql2 "SELECT * FROM generate WHERE distance 'local' GROUP BY category"; 
   $sql2 = mysql_db_query($database_nxpcontent,$sql2) or die(mysql_error()); 
 //
 // Ensuite, je les affiche dans un tableau tout ce qu'il y a de plus classique à l'aide d'une boucle :
 //
   $tbl = ' 
   ----
Titre';

$_categorie = null;

   while ($data = mysql_fetch_array($sql)) 
   {
       if( $_categorie != $data['categorie'] )
       {
          // Le code à exécuter lors d'une nouvelle catégorie.

          // On enregistre la nouvelle catégorie
          $_categorie = $data['categorie'];
          continue; // on saute la boucle
       }
      
        // Le code normal
       $tbl .= '' . $data['name'] . ', ';
       $tbl .= '' . $data['category'] . ', ';
   } 
   $tbl .= '
';

// Si $a existe :
//     $a = $a . '+';
//     <=>
//     $a .= '+';

echo $tbl;  // echo, pas print

?>

(J'en ai profité pour corriger quelques points de ton code ;))
<hr />Si ma reponse te convient, merci de l'accepter ! 
3
Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009
3 août 2008 à 16:27
Désolé, plus de connection internet depuis 2 jours !! Merci de ta réponse !!

A bientôt
0
Rejoignez-nous