IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Afficher des sous-categories [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut Afficher des sous-categories
    salut a tous,

    voici le query qui me pose probleme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mysql_query("select nom_forum,id_forum,titre_sujet,
    id_sujet,date_sujet,auteur_sujet,id_suj_forum,message,
    date_message,auteur_message  FROM forum 
    LEFT JOIN sujet_forum ON (id_forum=id_suj_forum)
    LEFT JOIN message_topic ON (id_sujet=id_mes_suj) GROUP BY titre_sujet,nom_forum") or die (mysql_error());
    ce query m'affiche ça sur la page :

    CATEGORIE 1
    ---sous cat 1
    CATEGORIE 1
    ---sous cat 2
    CATEGORIE 1
    ---sous cat 3

    etc. etc.

    or moi je veux un affichage comme ça :

    CATEGORIE 1
    ---sous cat 1
    ---sous cat 2
    ---sous cat 3
    ...

    CATEGORIE 2
    ---sou cat 1
    ---sou cat 2
    ---sou cat 3

    etcs etcs

    j'esper que vous comprendrez mon souci et que vous pourrez m'aider

    j'ai essayé les group by, les order by, mai j'ai toujours le meme souci
    Il y a-t-il une fonction qui fait ça ?
    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Possibilité 1
    Tu lis tous tes enregistrements, tu les ranges dans un tableau indexé par catégorie.
    Pour l'affichage tu n'as plus qu'a parcourir le tableau.

    Possiblité 2
    Tu utilises ORDER BY pour classer tes lignes par catégorie.
    A l'affichage tu vérifies si la catégorie de la ligne courante est le même que celle qui l'a précédé ; si ce n'est pas le cas, tu affiches ta ligne de catégorie.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Possibilité 1
    Tu lis tous tes enregistrements, tu les ranges dans un tableau indexé par catégorie.
    Pour l'affichage tu n'as plus qu'a parcourir le tableau.

    Possiblité 2
    Tu utilises ORDER BY pour classer tes lignes par catégorie.
    A l'affichage tu vérifies si la catégorie de la ligne courante est le même que celle qui l'a précédé ; si ce n'est pas le cas, tu affiches ta ligne de catégorie.
    merci sebotage pour ta reponse rapide

    mai j'ai du mal a te saisir

    j'ai essayer de faire ce que tu m'a dit mai j'ai le meme probleme ou alor j'ai seulement les sous categorie qui s'affiche, je ne met surtou pas ta parol en doute mai je dois mal m'y prendre quleque part mai je ne sai pas ou

    mai vu ta reponse donc j'en conclu que sa ne vien pas de ma requette?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ta requete doit etre bonne puisque tu as déja toutes les données et qu'elles sont juste mal présentées.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    pour le classement dans un tableau indexer tu fais comment je compren pas

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Un truc comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //recolte
    while($row= myslq_fetch_array($result)) {
    $categorie = $row['forum_nom'];
    $tableau[$categorie][] = $row;
    }
     
    //affichage
    foreach($tableau as $nom=>$valeurs) {
    echo $nom . '<br/>';
    foreach($valeurs as $sous_categorie) {
    echo $sous_categorie['titre_sujet'];
    }
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/04/2009, 11h45
  2. Afficher des sous-totaux
    Par FabDev dans le forum SQL
    Réponses: 2
    Dernier message: 05/12/2008, 14h28
  3. Afficher des sous menus en CSS
    Par pierre24 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 28/04/2008, 09h44
  4. Afficher des sous-requêtes dans une requête
    Par ZashOne dans le forum Sql*Plus
    Réponses: 6
    Dernier message: 16/04/2008, 10h07
  5. Des boutons qui affichent des sous formulaires
    Par nicolas2603 dans le forum IHM
    Réponses: 2
    Dernier message: 27/11/2007, 15h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo