1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2009
    Messages : 46
    Points : 19
    Points
    19

    Par défaut Liste déroulant et Bdd

    Bonjour,

    Je viens vous pour tenter de résoudre un problème que je pense évident, sauf pour moi.

    J’ai une base de données avec une table t_contacts qui contient les champs Id, Civilite, Nom, Prenom.
    Je souhaite dans un premier temps, en sélectionnant un nom dans une liste déroulante, afficher, Id, Civilite, Nom, Prenom correspondant à la sélection.

    Dans le code ci-dessous, tout ce que j’arrive à afficher c’est le Nom et c’est tout.

    Je ne vois pas la panne.
    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
     
    <?php
    //====  OUVERTURE DE LA TABLE  t_contacts   
    include("Connexion.php");
    $connect0 = mysqli_connect($hote,$login,$mdp,$bd);
    mysqli_select_db($connect0, $bd) ;
    $result0 = mysqli_query($connect0, "SELECT Id FROM t_contacts WHERE Id = '$Id' ");
      while($row = mysqli_fetch_array($result0, MYSQLI_BOTH))
      {
      $Id           = ($row['Id'])          ;
      $Nom          = ($row['Nom'])         ;
      $Prenom       = ($row['Prenom'])      ;
      $Civilite     = ($row['Civilite'])    ;
      } //while  
      mysqli_close($connect0); 	
     
     
     
     //====  OUVERTURE DE LA TABLE  t_contacts   
    include("Connexion.php");
    $connect0 = mysqli_connect($hote,$login,$mdp,$bd);
    mysqli_select_db($connect0, $bd) ;
     
    //  Liste déroulante
    echo "
    <div align='center'> 
        <form name='RechercherNom' action='Test1.php' method='post' enctype='multipart/form-data'>
    	<table class='table' rules='none' border=2px> 
    	<tr class='formulaire_1' onmouseover='this.className=\"formulaire_hover\"' onmouseout='this.className=\"formulaire_1\"'>
          <td width='20%'>Rechercher un contact :</td>
    	  <td><select name='Nom' style='width:19.6em'  value='Chercher' onchange='RechercherNom.submit();' >";
    	  	echo "<option value=''  selected='selected'></option>"; 
    	    $result0 = mysqli_query($connect0, "SELECT * FROM t_contacts ORDER BY Nom ASC");
    	    while($row = mysqli_fetch_array($result0, MYSQLI_BOTH))
             { echo "<option value='".$row["Nom"]."'>".$row["Nom"].' '.$row["Prenom"]."</option>"; }
           echo"</select>
    	 </td>  
       </tr>
       </table>
       </form>
       ";
      mysqli_close($connect0);   
     
     
    echo $Id."       ".$Civilite." ".$Nom." ".$Prenom."<br>";
    Merci de votre aide


    Alain

  2. #2
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 400
    Points : 20 769
    Points
    20 769

    Par défaut

    Bonjour,

    1/ liste déroulante : c'est l'id qu'il faut mettre en value, car l'id est unique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <select name='Idcontact' ...
    ......
    	    while($row = mysqli_fetch_array($result0, MYSQLI_BOTH))
             { echo "<option value='".$row["Id"]."'>".$row["Nom"].' '.$row["Prenom"]."</option>"; }
    2/ on récupère donc l'id.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Id = ( !empty($_POST['Idcontact']) )? intval($_POST['Idcontact']) : 0;
    3/ requête : on veut tous les champs -> SELECT *....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result0 = mysqli_query($connect0, "SELECT * FROM t_contacts WHERE Id = '$Id' ");
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2009
    Messages : 46
    Points : 19
    Points
    19

    Par défaut

    Merci pour ta réponse, malheureusement ca ne fonctionne pas.
    J’avais déjà essayé quelque chose comme ça mais ça ne le faisait pas

    J’obtiens comme résultat
    $id = 0;
    $Nom = la valeur de l’Id donc soit 206, soit autre chose mais qui correspond bien à la valeur de l’Id

    Alain

  4. #4
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 400
    Points : 20 769
    Points
    20 769

    Par défaut

    On n'est pas voyant.

    Montre ton code "corrigé".
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2009
    Messages : 46
    Points : 19
    Points
    19

    Par défaut

    Pas de souci

    Code modifié
    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
     
     
    <?php
    //====  OUVERTURE DE LA TABLE  t_contacts   
    include("Connexion.php");
    $connect0 = mysqli_connect($hote,$login,$mdp,$bd);
    mysqli_select_db($connect0, $bd) ;
    $result0 = mysqli_query($connect0, "SELECT * FROM t_contacts WHERE Id = '$Id' ");
      while($row = mysqli_fetch_array($result0, MYSQLI_BOTH))
      {
      $Id           = ($row['Id'])          ;
      $Nom          = ($row['Nom'])         ;
      $Prenom       = ($row['Prenom'])      ;
      $Civilite     = ($row['Civilite'])    ;
      } //while  
      mysqli_close($connect0); 	
     
     
     
     //====  OUVERTURE DE LA TABLE  t_contacts   
    include("Connexion.php");
    $connect0 = mysqli_connect($hote,$login,$mdp,$bd);
    mysqli_select_db($connect0, $bd) ;
     
    echo "
    <div align='center'> 
        <form name='RechercherNom' action='Test1.php' method='post' enctype='multipart/form-data'>
    	<table  rules='none' border=2px> 
    	<tr>
          <td width='20%'>Rechercher un contact :</td>
    	  <td><select name='Nom' style='width:19.6em'  value='Chercher' onchange='RechercherNom.submit();' >";
    	 // $Id = ( !empty($_POST['Id']) )? intval($_POST['Id']) : 0;
    	  	echo "<option value=''  selected='selected'></option>"; 
    	    $result0 = mysqli_query($connect0, "SELECT * FROM t_contacts Where Id ORDER BY Nom ASC");
    	    while($row = mysqli_fetch_array($result0, MYSQLI_BOTH))
             { echo "<option value='".$row["Id"]."'>".$row["Nom"].' '.$row["Prenom"]."</option>"; }
    	 $Id = ( !empty($_POST['Id']) )? intval($_POST['Id']) :0;
           echo"</select>
    	 </td>  
       </tr>
       </table>
       </form>
       ";
      mysqli_close($connect0);   
     
    echo $Id."       ".$Civilite." ".$Nom." ".$Prenom."<br>";
    Cdt

  6. #6
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 400
    Points : 20 769
    Points
    20 769

    Par défaut

    Ton code manque de cohérence et de logique.


    1/ Ligne 8, tu as : $Id
    D'où tu se sors ?
    Indice : c'est la ligne 32 qui doit se trouver avant.
    (tu l'as remis ligne 37, où il ne sert strictement à rien !)

    Et le while est inutile, puisque tu ne récupère qu'une seule ligne (id est unique).

    2/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      mysqli_close($connect0); 	
     
     //====  OUVERTURE DE LA TABLE  t_contacts   
    include("Connexion.php");
    $connect0 = mysqli_connect($hote,$login,$mdp,$bd);
    mysqli_select_db($connect0, $bd) ;
    inutile d'ouvrir et fermer la connexion 100 fois dans ton script !
    On ouvre au tout début, on ferme à la fin (une seule fois)

    Et ce serait malin de mettre les 2 dernières lignes (ci-dessus : $connect0 =.......) directement DANS le fichier Connexion.php.


    3/ ligne 34 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	    $result0 = mysqli_query($connect0, "SELECT * FROM t_contacts Where Id ORDER BY Nom ASC");
    Where Id... quoi ? (à enlever)
    Et là, on n'a besoin de récupérer que l'id, le nom et prénom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	    $result0 = mysqli_query($connect0, "SELECT Id, Nom, Prenom FROM t_contacts ORDER BY Nom ASC");
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2009
    Messages : 46
    Points : 19
    Points
    19

    Par défaut

    Merci pour ces remarques


    1/ Ligne 8, tu as : $Id
    D'où tu se sors ?


    Bien évidemment, il y a plusieurs noms dans la table t_contacts, cette ligne 8 et ce bout de code à pour objet d’afficher dans le formulaire la civilité, le prénom et le nom correspondant à l’Id sélectionnée dans la liste déroulante.


    Indice : c'est la ligne 32 qui doit se trouver avant.
    (tu l'as remis ligne 37, où il ne sert strictement à rien !)


    Je l’avais mis en ligne 32, mais cela n’a pas eu d’effet sur le résultat, je l’ai déplacé pour voir si après le while cela avait plus d’impact, mais où qu’elle soit cette ligne ne fait rien ou plutôt
    J’obtiens comme résultat
    $id = 0;
    $Nom = la valeur de l’Id donc soit 206, soit autre chose mais qui correspond bien à la valeur de l’Id


    Et le while est inutile, puisque tu ne récupère qu'une seule ligne (id est unique).
    Non, le while n’est pas inutile.
    Il est placé dans une liste déroulante, car comme tu le sais, une liste déroulante a pour fonction de dérouler…
    S’il n’y avait qu’un seul nom, je n’aurais pas besoin d’une liste déroulante ni de m’emmerder avec ce code.

    Le but de ce bout de programme est d’aller chercher un nom dans une table par le biais d’une liste déroulante et de l’afficher dans un formulaire.


    inutile d'ouvrir et fermer la connexion 100 fois dans ton script !
    On ouvre au tout début, on ferme à la fin (une seule fois)

    Tu as raison mais ce n’est pas qui fait que le programme ne fonctionne pas.


    3/ ligne 34 :
    $result0 = mysqli_query($connect0, "SELECT * FROM t_contacts Where Id ORDER BY Nom ASC");

    Tu as raison, c’est une erreur de ma part, j’ai modifié en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result0 = mysqli_query($connect0, "SELECT * FROM t_contacts Where Id = ‘$Id’ ORDER BY Nom ASC");
    Mais cela ne change rien au résultat

    Where Id... quoi ? (à enlever)
    En le supprimant cela ne change rien au résultat


    Et là, on n'a besoin de récupérer que l'id, le nom et prénom :
    $result0 = mysqli_query($connect0, "SELECT Id, Nom, Prenom FROM t_contacts ORDER BY Nom ASC");

    Tu as raison, mais dans cette table de test t_contacts, il n’y a que ces 4 champs Id, Civilité, Nom, Prenom, alors étoile ou pas, cela n’a pas d’importance
    Et cela ne change rien au résultat


    Cordialement

  8. #8
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 400
    Points : 20 769
    Points
    20 769

    Par défaut

    Bon.
    Moi, je sais corriger ton code. En moins de 5 minutes.
    Mais ce ne serait pas vraiment t'aider que de te le donner "tout cuit" *.

    La preuve : tu ne tiens pas compte de mes remarques, et tu les trouves "inutiles"...


    1/ re-indice : Le code de la ligne 32 est à mettre AVANT LA LIGNE 8.
    C'est plus clair comme ça ?

    2/ Quant au while, on ne parle pas du même...
    re-re-indice : je ne parle pas de celui de la liste déroulante.... ...mais de celui de la ligne 9.

    3/ Active aussi l'affichage des erreurs PHP :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL); 	// en tout début de script



    * Si tu es encore dessus demain, je te donnerai le code
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2009
    Messages : 46
    Points : 19
    Points
    19

    Par défaut

    J’ai supprimé le while en ligne 9 mais j’ai maintenant un autre message d’erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Parse error: syntax error, unexpected '$Id' (T_VARIABLE) in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\my portable files\Contacts\Test1.php on line 11
    Voici le 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
     
    //====  OUVERTURE DE LA TABLE  t_contacts   
    include("Connexion.php");
    $connect0 = mysqli_connect($hote,$login,$mdp,$bd);
    mysqli_select_db($connect0, $bd) ;
    //$result0 = mysqli_query($connect0, "SELECT * FROM t_contacts WHERE Id = '$Id' ");
    $result0 = mysqli_query($connect0, "SELECT * FROM t_contacts  ");
    $row = mysqli_fetch_array($result0, MYSQLI_BOTH)
     // while($row = mysqli_fetch_array($result0, MYSQLI_BOTH))
     // {
      $Id           = ($row['Id'])          ;
      $Nom          = ($row['Nom'])         ;
      $Prenom       = ($row['Prenom'])      ;
      $Civilite     = ($row['Civilite'])    ;
     // } //while  
      mysqli_close($connect0);
    Je précise que mes variables sont bien déclarées en début de page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(isset($_POST['Id']))        { $Id        = ($_POST['Id']);}            else { $Id= "";}
    if(isset($_POST['Nom']))       { $Nom       = ($_POST['Nom']);}           else { $Nom= "";}
    if(isset($_POST['Prenom']))    { $Prenom    = ($_POST['Prenom']);}        else { $Prenom= "";}
    if(isset($_POST['Civilite']))  { $Civilite  = ($_POST['Civilite']);}      else { $Civilite= "";}
    Cordialement

  10. #10
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    4 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 4 353
    Points : 10 744
    Points
    10 744

    Par défaut

    Salut,

    juste en passant, avec PHP 7 ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['Id']))        { $Id        = ($_POST['Id']);}            else { $Id= "";}
    devient cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Id = $_POST['Id'] ?? '';
    # Dans la Création, tout est permis mais tout n'est pas utile...

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2009
    Messages : 46
    Points : 19
    Points
    19

    Par défaut

    Oups,
    J’avais oublié le point virgule
    La phrase devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $row = mysqli_fetch_array($result0, MYSQLI_BOTH);
    Mais d’avoir supprimé le while n’arrange rien, le résultat ne m’affiche que le premier nom de la base de données…


    Pour PHP7
    J’ai le message d’erreur suivant :
    Parse error: syntax error, unexpected '?' in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\my portable files\Contacts\Test1.php on line 6
    Mon problème n’est donc toujours pas résolu

    Merci tout de même

  12. #12
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 400
    Points : 20 769
    Points
    20 769

    Par défaut

    ...ça n’arrange rien...
    ...ça ne change rien...
    ...Mon problème n’est donc toujours pas résolu...
    Tu fais des copier-coller sans rien comprendre...

    ...et ton code est de pire en pire.

    ECRIT DES PHRASES à chaque ligne de code : ça te permettra de verbaliser (et comprendre ?) ce que fait le code.


    N.B. Ce que tu n'as surtout pas compris, c'est qu'on n'est pas en train de résoudre ton problème A TA PLACE, mais de T'AIDER à le résoudre TOI-MEME.
    (avec des indices, des indications,........ mais PAS avec un code complet "tout-fait").

    Si vraiment tu ne comprends RIEN à ce qu'on te raconte (et tes "corrections" le prouvent *), dis-le nous sans honte !


    * : Je prends l'exemple du message d'erreur : "Parse error: syntax error, unexpected '$Id'........."
    Au lieu de chercher à comprendre le message d'erreur (et donc à pouvoir le RESOUDRE), tu te contentes de commenter la ligne et de supprimer $Id de la requête !
    Ca prouve bien que tu ne comprends pas à quoi ça sert....
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2009
    Messages : 46
    Points : 19
    Points
    19

    Par défaut

    Ce que tu ne comprends pas , c'est que tu fait tout sauf m'aider avec des corrections qui n'apportent rien,

    Donc si c'est tout ce que tu as à dire, des commentaires stupides qui n'apportent rien,
    Tu m'oublies STP

  14. #14
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 400
    Points : 20 769
    Points
    20 769

    Par défaut

    Citation Envoyé par jreaux62 Voir le message
    * Si tu es encore dessus demain, je te donnerai le code
    Alors tant pis....
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  15. #15
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 400
    Points : 20 769
    Points
    20 769

    Par défaut

    Bonjour,

    là, on est après-demain

    Je comprends que ça t’énerve, et tu n'es pas le premier.
    Mais il n'y a pas de honte à "ne pas savoir" ou "ne pas comprendre". Par contre, il faut savoir le reconnaitre pour pouvoir progresser.

    Voici le code complet et, sauf erreur, fonctionnel.

    Code php : 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
    <?php
    error_reporting(E_ALL); 	// Activation des messages d erreur PHP
    // -------------------------------
    // CONNEXION
    // ouverture de la connexion à la base de données (en début de script)
    include("Connexion.php");
    $connect0 = mysqli_connect($hote,$login,$mdp,$bd); 	// CETTE LIGNE peut être mise dans le fichier Connexion.php !
    mysqli_select_db($connect0, $bd) ; 				// CELLE-CI aussi !
    // -------------------------------
    // INITIALISATION des variables
    $Id 		= ( !empty($_POST['Idcontact']) )? intval($_POST['Idcontact']) : 0; // SI le formulaire a été envoyé : on récupère l'Id du CONTACT sélectionné - sinon 0
    $Nom	= '';
    $Prenom	= '';
    $Civilite	= '';
    // -------------------------------
    // TRAITEMENT du formulaire
    if( !empty($Id) )  // $Id a été sélectionné ? on récupère les infos en bdd
    {
    	// ------------
    	// Requête : le contact avec cet Id
    	$query = "SELECT Nom, Prenom, Civilite FROM t_contacts WHERE Id = ? ";
    	// Requête PREPAREE : car on a des paramètres à transmettre (provenant de l'internaute, a qui on ne doit JAMAIS faire confiance)
    	$stmt = mysqli_prepare($connect0, $query);	// Preparation de la requête
    	mysqli_stmt_bind_param($stmt, 'i', $Id);	// liaison des paramètres
    	mysqli_stmt_execute($stmt);					// Exécution de la requête
    	// ------------
    	// résultats
    	$result = mysqli_stmt_get_result($stmt);
    	$row = mysqli_fetch_array($result, MYSQLI_BOTH); // 1 seul résultat attendu : pas besoin de while
    	$Nom		= $row['Nom'];
    	$Prenom		= $row['Prenom'];
    	$Civilite	= $row['Civilite'];
    	// ------------
    }
    // -------------------------------
    ?>
    <!doctype html>
    <html lang="fr">
    <head>
    </head>
    <body>
     
    <?php 	// FORMULAIRE ?>
    <div align="center"> 
        <form name="RechercherNom" action="Test1.php" method="post" enctype="multipart/form-data">
    	<table class="table" rules="none" border=2px> 
    	<tr class="formulaire_1" onmouseover="this.className='formulaire_hover'" onmouseout="this.className='formulaire_1'">
          <td width="20%">Rechercher un contact :</td>
    	  <td>
    <?php 	// Liste déroulante ?>
    		<select name="Idcontact" style="width:19.6em" value="Chercher" onchange="RechercherNom.submit();" >";
    			<option value="" selected="selected"></option>
    <?php	// -----------------------
    		// construction de la liste déroulante
    		// Requête : TOUS les contacts
    		$query = "SELECT Id, Nom, Prenom FROM t_contacts ORDER BY Nom ASC";
    		$result0 = mysqli_query($connect0, $query);	// PAS BESOIN de requête préparée : on n'a pas de paramètres à transmettre
    		// ------------
    		// affichage
    		while($row = mysqli_fetch_array($result0, MYSQLI_BOTH))
    		{ 
    			// si un contact a été sélectionné, on le met selected
    			$selected = ( !empty($Id) && $Id == $row['Id'] )? ' selected="selected"' : '';
    			echo '<option value="'.$row['Id'].'"'.$selected.'>'.htmlspecialchars($row['Nom'].' '.$row['Prenom'], ENT_QUOTES).'</option>'; 
    		}
    ?>
           </select>
    	 </td>  
       </tr>
       </table>
       </form>
     
     
    	<p><?php if( !empty($Id) ){ echo 'Vous avez sélectionné ('.$Id.') : '.$Civilite.' '.$Nom.' '.$Prenom;  } ?></p>
     
    </body>
    </html>
    <?php mysqli_close($connect0); // fermeture de la connexion (en fin de script) ?>
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2009
    Messages : 46
    Points : 19
    Points
    19

    Par défaut

    Je te remercie pour ces infos détaillées,

    Je regarde tout cela ce WE et je reviens vers toi

    Cordialement

  17. #17
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 400
    Points : 20 769
    Points
    20 769

    Par défaut

    Quelques liens utiles...

    REQUETES PREPAREES mysqli_ :




    Bonne lecture...
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2009
    Messages : 46
    Points : 19
    Points
    19

    Par défaut

    Effectivement ton code n’a aucune comparaison.
    J’ai compris quelques erreurs.

    Je vais mettre tes conseils à profit pour la suite.

    Avec mes remerciements

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

Discussions similaires

  1. Selection ID liste déroulante avec BDD
    Par Jimdrix06 dans le forum PHP & MySQL
    Réponses: 3
    Dernier message: 11/02/2014, 11h21
  2. liste déroulante sur bdd récupération d'une valeur
    Par zeon71 dans le forum PHP & MySQL
    Réponses: 7
    Dernier message: 26/10/2011, 16h42
  3. Liste déroulante et BDD
    Par Morronight dans le forum PHP & MySQL
    Réponses: 2
    Dernier message: 26/04/2011, 12h51
  4. liste déroulante alimentée par BDD
    Par mitch46000 dans le forum PHP & MySQL
    Réponses: 11
    Dernier message: 07/06/2007, 16h14
  5. Liste déroulante imbriquée importée depuis une Bdd
    Par WhyMee dans le forum JavaScript
    Réponses: 27
    Dernier message: 07/08/2006, 17h48

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