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 :

Réaliser une liste annuelle de festivités [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é
    Femme Profil pro
    Presque retraitée
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Presque retraitée
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Par défaut Réaliser une liste annuelle de festivités
    Bonjour,

    Loin d'être une experte en php, j'essaie en général de trouver seule la solution aux problèmes que me posent certains scripts et bien souvent je parviens à ce que je veux, mais là, je sèche alors que la solution est peut-être simple.

    J'ai créé une table "evenement" qui comporte les champs suivants :
    - id
    - mois
    - date (simplement les 2 chiffres correspondant au jour : 01, 02,03...)
    - animation
    - lieu de l'animation

    Je précise que les entrées ne sont pas faites forcément dans l'ordre des événements.

    Et je voudrais arriver à ce résultat :

    MOIS
    Tous les événements de ce mois (date, animation, lieu de l'animation) à raison d'un événement par ligne, puis...

    MOIS SUIVANT
    Tous les événements de ce mois (date, animation, lieu de l'animation) à raison d'un événement par ligne, etc

    Si je fais une simple requête basée sur le mois et la date, je sors les événements dans l'ordre, chaque ligne commençant par la mention du mois alors que je voudrais faire des blocs mensuels séparés les uns des autres avec, pour chacun d'eux : en-tête le nom du mois, et, en dessous, les événements classés par date sans répétition du nom du mois à chaque ligne .

    Merci par avance de votre aide.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,

    soit vous faites une requête qui reprend l'ensemble des activités un à la suite de l'autre et dans votre code vous vous assurez une boucle qui vérifie les mois

    (en tenant compte que le mois est un integer);

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT animation, lieu_de_animation 
    FROM la_table
    ORDER BY mois,date

    Soit on fait un select par mois

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT animation, lieu_de_animation 
    FROM la_table
    WHERE mois = le_mois_en_cours
    ORDER BY date

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 235
    Par défaut
    Sinon le "GROUP BY" pourrait aussi peut-être vous aider...

  4. #4
    Membre confirmé
    Femme Profil pro
    Presque retraitée
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Presque retraitée
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Par défaut
    Bonjour,

    Merci pour vos réponses

    Citation Envoyé par MaitrePylos Voir le message
    Bonjour,

    soit vous faites une requête qui reprend l'ensemble des activités un à la suite de l'autre et dans votre code vous vous assurez une boucle qui vérifie les mois

    (en tenant compte que le mois est un integer);

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT animation, lieu_de_animation 
    FROM la_table
    ORDER BY mois,date
    Le mois est un varchar, un integer ne permettant pas (sauf erreur de ma part) des nombres commençant par un zéro.
    Cette requête a été celle que j'ai faite avant de déposer mon message sur ce forum (un GROUP BY revient à peu près au même), cela me donne :

    juin
    07 Récital guitare Andalouse TABAR, Eglise
    juin
    13 Tout couleurs, Village
    juin
    13 et 14 Fête du patrimoine de pays, Salle des Fêtes
    juin
    14 Concours de pétanque,
    juillet
    06 Cinéma la Strada, Place de la Mairie

    alors que ce que je voudrais, à l'arrivée, c'est :

    juin
    07 Récital guitare Andalouse TABAR, Eglise
    13 Tout couleurs, Village
    13 et 14 Fête du patrimoine de pays, Salle des Fêtes
    14 Concours de pétanque,
    juillet
    06 Cinéma la Strada, Place de la Mairie

    etc, pour afficher les événements, par mois, sur la totalité de l'année.

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Vous devez dans ce cas utilisez ma deuxième solution.

    Rapidement dans votre code, vous pourriez-faire quelque chose du genre,a optimiser bien sûr.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     
    $sql = "SELECT mois FROM la_tables"
    $result = mysql_query($sql);
     
    while($mois = mysql_fetch_objet($result)){
     
        echo 'Mois de : '$mois->mois;
     
        $sql_activites = "SELECT date,animation, lieu_de_animation 
                                FROM la_table
                                WHERE mois = '$mois->mois'
                                ORDER BY date";
     
        $result_activites = mysql_query($sql_activites);
     
        while($activites=mysql_fetch_objet($result_activites)){
     
            echo $activites->date." ".$activites->animation." ".$activite->lieu_de_animation ;
        }
    }

  6. #6
    Membre confirmé
    Femme Profil pro
    Presque retraitée
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Presque retraitée
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Par défaut
    Je venais sur le forum pour écrire que j'avais solutionné mon problème et j'ai vu votre réponse...

    Ma solution est similaire à la vôtre. Si j'avais réfléchi un peu plus avant de poster mon message, j'aurais fini par trouver qu'il me fallait faire une sous-requête.

    Encore merci pour vos réponses.

    Bonne journée.

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

Discussions similaires

  1. Comment réaliser une liste déroulante
    Par sab_info dans le forum SSRS
    Réponses: 4
    Dernier message: 19/02/2013, 17h16
  2. [MySQL] réaliser une liste déroulante sur 3 niveaux provenant de 3 tables jointes mysql
    Par cel.Saint-Louis dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/11/2007, 15h22
  3. Comment réaliser une liste déroulante à deux niveaux !?
    Par Dubbiker dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 01/07/2007, 11h51
  4. Réponses: 4
    Dernier message: 25/12/2005, 18h46
  5. Réponses: 1
    Dernier message: 09/12/2005, 13h43

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