PHP/MYSQL

Fermé
h-king Messages postés 11 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 4 juin 2010 - 4 oct. 2009 à 01:04
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 - 4 oct. 2009 à 10:24
Bonjour,
j'ai une table tuto qui contient plusieur cours par categorie. par exemple cour php,js,flash...
donc mon probleme c'est que je n'arrive pas a afficher ces cours par categorie.

j'ai essayer ce code :

$query=mysql_query("select * from tuto group by categorie");
while($result=mysql_fetch_($query1)){
echo($result['titre']."</br>");
}

mais le le probleme c'est que ce code affiche un cour par categorie comme suite :

Lecteur mp3 en flash
Liste des propriétés CSS
Menu En javascript
PHP fonctions utiles


Par contre moi je veux aficher les resultats comme ça par exemple :

Flash:
liste cours flash
...


PHP:
liste cours PHP
....

Ainsi de suite ...

j'espere trouver une solution.

Merci d'avance.

Cordialement.

1 réponse

P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
4 oct. 2009 à 10:24
Logique, le group by rassemble les lignes, il;ne s'utilise généralement que pour utiliser des fonctions d'agrégations comme SUM ou encore COUNT.

Dans ton cas, tu ne dois pas t'en servir puisque tu dois afficher tout ce que contient ta table.

$sql = 'SELECT titre, categorie FROM tuto ORDER BY categorie, titre';
$query=mysql_query($sql) or exit(mysql_error());

// On créé une variable pour stocker la catégorie en cours
$categorie = null; 
while( $result = mysql_fetch_assoc($query) ) {
    // Si la catégorie précédente est différente de celle en cours, on modifie la valeur de $categorie et on l'affiche
    if( $categorie != $result['categorie'] ) {
        $categorie = $result['categorie'];
        echo '<h2>' . htmlspecialchars($categorie) . '</h2>';
    }
    echo htmlspecialchars($titre) . '</br>';
} 


Tout simple :)
0