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 :

Liste déroulante à partir des données d'Access


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Liste déroulante à partir des données d'Access
    Bonjour,

    J'arrive à récupérer des données de ma base Access (ici les pointages des salariés : années, semaine, jours, description,....).
    Mais il y a bcp de données et j'aimerai pouvoir les filtrer grâce à une liste déroulante (ici années).
    J'arrive à afficher ma liste déroulante ainsi que les années, mais j'obtiens:
    2007
    2007
    2007
    2007
    2006
    2006
    2006
    ...

    au lieu de:
    2007
    2006

    Les années ne se regroupent pas

    Voici mon code:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Pointages</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
     
            <h2>Bonjour</h2>
     
            <p>
     
    		<?php
    			// Connexion à la base de données
    			$con = odbc_connect("GestecProProgrammation", "", "");
    			$NomSalarie = $_GET['NomSalarie'];	
    			$query = "select * FROM T_Pointage WHERE Collaborateur='$NomSalarie' ORDER BY annee desc, semaine desc";  
    			$result = odbc_do ($con,$query); 
    		?>  
    			 <br>
    		<?php			
    			$ld = "<SELECT NAME='Annee'>";
    			$ld .= "<OPTION VALUE=0>Tous</OPTION>";
     
    			while ( $row = odbc_fetch_array( $result)) { // $row est un tableau associatif, les éléments sont «indicés» par les noms des colonnes
    			    $Annee = $row["Annee"];
    			    $Semaine = $row["Semaine"];
    			    $ld .= "<OPTION VALUE='$Semaine'>$Annee</OPTION>";
    			}
    			$ld .= "</SELECT>";
     
    			print $ld; //Affichage de la liste déroulante
     
    			odbc_close( $con); // Déconnexion de la bdd
    		?>			
     
    		</p>
        </body>
    </html>
    Merci,
    Elise.

  2. #2
    Membre habitué Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Points : 196
    Points
    196
    Par défaut
    pour regrouper les années, il te faut un "group by annee" dans ta requete.
    ceci, il y a quelque chose que je ne comprend pas : tu affiches des années dans ta liste déroulante, mais tu mets des semaines en value ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    En fait, je débute en PHP et j'ai adapté un bout de code que j'ai trouvé sur internet.

    Sinon, je vais essayé le "group by annee"

    Merci,
    Elise.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    J'ai supprimé les semaines en values.
    Par contre, je n'arrive pas à mettre en place le "group by annee", si tu pouvais m'indiquer où et comment le placer, ça serait super sympa.

    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
    22
    23
    24
     
    		<?php
    			// Connexion à la base de données
    			$con = odbc_connect("GestecProProgrammation", "", "");
    			$NomSalarie = $_GET['NomSalarie'];	
    			$query = "select * FROM T_Pointage WHERE Collaborateur='$NomSalarie' ORDER BY annee desc, semaine desc";  
    			$result = odbc_do ($con,$query); 
    		?>  
    			 <br>
    		<?php			
    			$ld = "<SELECT NAME='Annee'>";
    			$ld .= "<OPTION VALUE=0>Tous</OPTION>";
     
    			while ( $row = odbc_fetch_array( $result)) 
    			{ // $row est un tableau associatif, les éléments sont «indicés» par les noms des colonnes
    			    $Annee = $row["Annee"];
    			    $ld .= "<OPTION VALUE=>$Annee</OPTION>";
    			}
    			$ld .= "</SELECT>";
     
    			print $ld; //Affichage de la liste déroulante
     
    			odbc_close( $con); // Déconnexion de la bdd
    		?>
    Merci,
    Elise.

  5. #5
    Membre habitué Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Points : 196
    Points
    196
    Par défaut
    select annee from table group by annee

  6. #6
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT annee
    FROM table

    c'est bien aussi ...

Discussions similaires

  1. [MySQL] Liste déroulante à partir des données de la base
    Par worldhugo dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 11/01/2009, 19h23
  2. Liste déroulant avec des données d'une bd
    Par kapi dans le forum JDBC
    Réponses: 4
    Dernier message: 18/07/2007, 22h30
  3. Réponses: 4
    Dernier message: 25/05/2007, 15h25
  4. [MySQL] Liste déroulante + affichage des données d'un élément de la liste
    Par Sofute dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 14/02/2007, 23h02
  5. liste déroulante à partir d'une base access
    Par Adren dans le forum ASP
    Réponses: 6
    Dernier message: 05/07/2006, 11h27

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