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

Langage PHP Discussion :

Traiter une liste déroulante


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Traiter une liste déroulante
    Bonjour a tous ,
    Je suis actuellement en DUT R&T et je dois faire un projet avec du PHP et en utilisant une base de données . J'ai décidé de faire sur le football donc j'ai déjà créer mes tables qui sont "Club"",Joueur" et "Statistique" .
    J'ai déjà fait mon site mais j'ai beaucoup de mal avec le PHP vu que j'arrive pas à éxécuter ce que je veux . Par exemple j'ai fait une liste déroulante et je voulais l'éxécuter mais je sais pas trop comment faire vu que si j'appuie sur "Pays" par exemple sa lance rien :/

    Ca serait vraiment sympa de votre part de m'aider à pouvoir éxécuter ma liste déroulante ?

    Si jamais vous voyez des erreurs dans mon code je veux bien me vous me corrigiez .

    Je vais donc vous mettre ici mes deux pages de code html et php .

    Merci d'avance

    Code html : 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
    <form method="POST" action="recherche.php" >
        <center>
          <label for="foot"> Que cherchez-vous? </label> <br />
          <select name="foot" id="foot" >
            <option value="pays"> Pays </option>
            <option value="club"> Club </option>
            <option value="joueur"> Joueur </option>
          </select> <br />
        </center>
        <center>
           <label for="foot"> Entrez un pays : </label> <br />
           <p> Pays : <input type="text" name="pays" size="15" maxlengh="35"> </p>
       </center>
       <center>
           <label for="foot"> Entrez un nom de club : </label> <br />
           <p> Club : <input type="text" name="club" size="15" maxlengh="35"> </p>
       </center>
       <center>
           <label for="foot"> Entrez un nom de Joueur : </label> <br />
           <p> Joueur : <input type="text" name="joueur" size="15" maxlengh="35"> </p>
             <p class="bouton_Executer">
             <input type="submit" name="Executer"  value="Executer" />
           </p>
       </center>
    </form>

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <?php
    $serveur = "localhost";
    $login = "root";
    $mdp = " ";
    $base = "projetphp_foot";
    $connect = mysql_connect($serveur, $login, $mdp) or die ("Problème de connexion à la base de données");
    mysql_select_db($base, $connect) or die ("Erreur dans la selection de la base de données");
     
    if(!empty($_POST)) {
      if(isset($_POST["pays"])) {
       $pays = 
       $Sql= "Select club from club where pays= ".addslashes($pays).""; 
       $req= mysql_query($sql) or die('Erreur SQL : <br/>'.$sql);
        if (mysql_num_rows($req) >0) {
        $data = mysql_fetch_assoc($req);
       }    
      }
     
      if(isset($_POST["club"])) {  
        $club = 
        $Sql= "Select joueur.nom, joueur.prenom from club, joueur where club.club=".addslashes($club)." and joueur.club=club.club"; 
        $req= mysql_query($sql) or die('Erreur SQL : <br/>'.$sql);
          if (mysql_num_rows($req) >0 ) {
          $data = mysql_fetch_assoc($req);
          }    
      }
     
      if(isset($_POST["joueur"])) {
        $joueur = 
        $Sql= "Select statistique.* from statistique, joueur where joueur.nom=".addslashes($joueur)." and joueur.numero=statistique.numero"; 
        $req= mysql_query($sql) or die('Erreur SQL : <br/>'.$sql);
          if (mysql_num_rows($req) >0 ) {
          $data = mysql_fetch_assoc($req);
          }  
      }
    }
     
     
    echo "<option value=\"".$total["nom"]."\"";
    if($liste1==$total['nom']) { echo "selected"; }
    echo ">".$total['nom']."</option>\n";
     
     
     
     
     
    else {
    	echo "Il faut selectionner l'une des 3 cases !";
    }
     
    mysql_close($connect);
    ?>
    Nom : schéma relationnel.PNG
Affichages : 103
Taille : 16,2 Ko

    Voici mes 3 tables que j'ai fait sur MYSQL

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    A quoi est censé servir la liste déroulante ?

    Pour le code en lui même, utilise PDO et pas l'extension Mysql qui est complétement obsolète.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    La liste déroulante en fait je l'utilise soit les requêtes après parce que la personne soit elle choisit un pays , club , ou joueur.

    J'ai pas compris ce que tu voulais dire avec PDO ?

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Certes mais puisque tu as 3 champs texte différents je ne vois pas bien à quoi sert la liste.
    C'est plutôt une liste et un seul champs texte que tu veux non ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Nom : Capture.jpg
Affichages : 87
Taille : 22,0 Ko

    En fait moi je veux donc créer une liste où il y aura 3 propositions soit pays , club ou joueur , par rapport a la question que cherchez -vous .
    L'utilisateur après avoir fait son choix il y aura du coup soit la case pour écrire le nom du pays , soit la case avec le nom du joueur , soit du club . Mais la le problème c'est que les trois s'affichent sans que je demande quelque chose . Donc je sais pas trop comment changer mon programme .

    Cordialement

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme je te dit, il n'y a pas besoin de 3 champs.
    Tu gardes ta liste déroulante et un seul champ texte.

    Les ajustements cosmétiques, si tu en veux, comme la modification du texte, peuvent se traiter plus fluidement en javascript qu'en PHP.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    J'ai suivi tes conseils et j'ai fait le code suivant :
    Dit moi ce que t'en pense

    Code html : 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
    <form method="POST" action="recherche.php" >
        <div id="query">
          <label for="foot"> Que cherchez-vous? </label> <br />
          <select name="foot" id="foot" >
            <option value=""> Selectionnez une action </option>
            <option value="pays"> Pays </option>
            <option value="club"> Club </option>
            <option value="joueur"> Joueur </option>
          </select> <br />
        </div>
        <div class="query_type" id="pays">
           <label for="foot"> Entrez un pays : </label> <br />
           <p> Pays : <input type="text" name="pays" size="15" maxlengh="35"> </p>
       </div>
       <div class="query_type" id="club">
           <label for="foot"> Entrez un nom de club : </label> <br />
           <p> Club : <input type="text" name="club" size="15" maxlengh="35"> </p>
       </div>
       <div class="query_type" id="joueur">
           <label for="foot"> Entrez un nom de Joueur : </label> <br />
           <p> Joueur : <input type="text" name="joueur" size="15" maxlengh="35"> </p>
       </div>
     
       <p class="bouton_Executer">
             <input type="submit" name="Executer"  value="Executer" />
           </p>
    </form>

    J'aurais également besoin d'aide pour mon code PHP vu que j'arrive pas a éxécuter les requêtes que je veux et je sais pas quoi modifier pour que sa marche .

    Voici mon code PHP :

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    <?php
    $serveur = 'localhost';
    $login = 'root';
    $mdp = '';
    $base = 'projetphp_foot';
     
    // connexion a la base de donnees en utilisant l'API PDO (PHP Data Object)
     try {
      $bdd = new PDO('mysql:host='.$serveur.';dbname='.$base, $login, $mdp);
     } catch (Exception $e) {
      die('Erreur: Impossible de se connecter a la base de donnees');
     }
     
    /******************************************
        FONCTION  DE RECUPERATION DES DONNEES
    ************************************************/
    /**
    * la fonction recupere la liste des resulats d'une recherche en fonction des donnees envoyees
    * @param $bdd, la variable Objet PDO de connecton a la base de donnees
    * @param $requete, la requete formatee (de type string)
    * @param $params, liste des parametre a passer a la requete
    * @return array, retourne un tableau de donnees
    **/
     
    function recherche($bdd, $requete, $params){
     
      $donnees = array();       // stockera les donnees une fois la requete executee
     
      $req = $bdd->prepare($requete); // exemple : "SELECT *FROM ...."
      $req->execute($params);     // Exemple : $params = array(':id' => 2, 'title' => 'test')
     
      while ($data = $req->fetchAll(PDO::FETCH_ASSOC)) {
        $donnees[] = $data;
      }
      $req->CloseCursor();
     
      return $donnees;
    }
     
     
    /***************************************
        TRAITEMENT DES DONNEES DU FORMULAIRE
    ************************************************/
     
     if (isset($_POST['Executer'])) {         // Si le formulaire a ete envoye
     
     
      if (isset($_POST['foot']) AND $_POST['foot']== '') {  // si aucun theme de la recherche n'est choisit
        echo "vous devez choisir un theme de recherche";
        exit();
      }
     
      if (isset($_POST['pays'])){               // si on decide de faire une recherche sur un pays
        if(!empty($_POST['pays'])) {            // si la valeur n'est pas vide   
          $pays     = $_POST['pays'];           // recuperation des donnees
          $requete  = "";                       // definie la requete
          $params   = array(':pays' => $pays);  // parametres
        }else{
          echo "vous devez entrer un pays";
          exit();
        }
      }
     
      if (isset($_POST['club'])){             // si on decide de faire une recherche sur un club
        if(!empty($_POST['club'])) {          // si la valeur n'est pas vide   
          $club     = $_POST['club'];         // recuperation des donnees
          $requete  = "";      // definie la requete
          $params   = array('' => $club);     // parametres
        }else{
          echo "vous devez entrer le nom d'un club";
          exit();
        }
      }
     
      if (isset($_POST['joueur'])){             // si on decide de faire une recherche sur un joueur
        if(!empty($_POST['joueur'])) {          // si la valeur n'est pas vide   
          $joueur = $_POST['joueur'];           // recuperation des donnees
          $requete = "";                        // definie la requete
          $params = array('' => $joueur);       // parametres
        }else{
          echo "vous devez entrer le nom du joueur";
          exit();
        }
     
      }
     
      /*****  SI TOUT VAS BIEN ALORS *****/
     
      // on executera la suite de la fonction ici
     
     
     }
     
    ?>

  8. #8
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    J'en pense que tu as toujours une champs par recherche et donc ça n'a pas ce que je t'ai conseillé.
    De plus tes attributs "label for" sont mis n'importe comment.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonsoir,
    J'ai déjà tout essayé donc si tu pourrais m'aider à faire le code sa serait sympa de ta part .

    Merci d'avance

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Pour l'instant dans mon menu partie Recherche sa donne sa :

    Nom : Capture2.JPG
Affichages : 79
Taille : 14,0 Ko

  11. #11
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Ba voila c'est que je dis depuis le debut : un select et un seul champs texte.

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Oui , mais maintenant je sais pas comment faire pour éxécuter mes requêtes dans le PHP ?

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

Discussions similaires

  1. Récupération de la valeur visible d'une Liste déroulante
    Par Yaz dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/10/2004, 13h01
  2. Rajouter "Tous" dans une Liste Déroulante
    Par smirold dans le forum IHM
    Réponses: 7
    Dernier message: 25/10/2004, 14h29
  3. Réponses: 2
    Dernier message: 16/10/2004, 15h33
  4. Problème pour positionner une liste déroulante
    Par ouckileou dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/09/2004, 02h05
  5. valeur d'une liste déroulante
    Par leeloo076 dans le forum ASP
    Réponses: 7
    Dernier message: 15/04/2004, 17h11

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