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 :

Initialiser liste PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Par défaut Initialiser liste PHP
    Bonjour,

    J'ai un code qui me permet de remplir une liste à l'aide d'une requête SQL puis de récupérer la valeur de la liste en cliquant sur le bouton "Consulter". Quand je clique sur le bouton cela m'affiche alors les données correspondants au critère. Le problème est que lorsque je clique sur le bouton ça réinitialise la liste à la première valeur alors que je voudrais que ça affiche la valeur que j'ai choisi.
    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
     
    <?php
    try{
    	 $c = new PDO("mysql:host=$host;dbname=$dbname",$login,$password);//Connexion à la base de données
    	 $c->exec("set names utf8");
    	 $req1= "SELECT ID_entreprise,Nom_entreprise FROM entreprise";// Requête récupérant les entreprises
     
         echo "<p><Presentation><form input type='search' method='post' action='Portefeuille.php'><SELECT name='nom' size='1'>"; //Formulaire contenant une liste déroulante
     
    foreach($c->query($req1) as $l)// On remplit la liste déroulante à l'aide de la requête
    {        $identreprise=$l["ID_entreprise"];
             $nomentreprise=$l["Nom_entreprise"];
    		 echo  "<option value=".$identreprise. ">".$nomentreprise."</option>";// Ajout liste
    }
     
     echo "</SELECT> <input type='submit' value='Consulter' name='ok' /></fieldset></p></Portefeuille></Presentation></p>"; // Bouton permettant la validation
           if (isset($_POST['ok']))
             {
              $Choixidentreprise=$_POST['nom'];// Récupère l'entreprise choisie dans la liste
    		   // Requête contenant les informations de l'entreprise sélectionnée
    	     $req2= "SELECT Nom_entreprise,Description,Nom_secteur,Pourquoi FROM entreprise,secteur where entreprise.ID_entreprise=".$Choixidentreprise." and entreprise.ID_secteur=secteur.ID_secteur";
    ?>

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Dans cet ordre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    // 1/ Récupération du CHOIX :
    // Récupère l'entreprise choisie dans la liste (si formulairesoumis), sinon vide.
    $Choixidentreprise = (isset($_POST['Choixidentreprise']))? $_POST['Choixidentreprise'] : '';
    ?>
    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
    <?php
    // 2/ Formulaire du CHOIX :
    // Connexion
    try{
    	 $c = new PDO("mysql:host=$host;dbname=$dbname",$login,$password); //Connexion à la base de données
    	 $c->exec("set names utf8");
    	 $req1= "SELECT ID_entreprise,Nom_entreprise FROM entreprise"; // Requête récupérant les entreprises
    ?>
         <div id="Presentation">
    		<form method="post" action="Portefeuille.php"">
    		<fieldset>
    		<select name="Choixidentreprise" size="1">
    <?php
    		foreach($c->query($req1) as $l)// On remplit la liste déroulante à l'aide de la requête
    		{
    			$selected = ($Choixidentreprise == $l['ID_entreprise'])? ' selected="selected"' : '';
    ?>
    			<option value="<?php echo $l['ID_entreprise']; ?>"<?php echo $selected; ?>><?php echo htmlspecialchars($l['Nom_entreprise']); ?></option>
    <?php
    		}
    ?>
    		</select>
    		<input type="submit" value="Consulter" name="ok" />
    		</fieldset>
    		</form>
    	</div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    // 3/ Affichage du CHOIX :
    if(!empty($Choixidentreprise))
    {
    	// Requête contenant les informations de l'entreprise sélectionnée
    	$req2 = "SELECT Nom_entreprise,Description,Nom_secteur,Pourquoi 
    		FROM entreprise,secteur 
    		WHERE entreprise.ID_entreprise=".intval($Choixidentreprise)." AND entreprise.ID_secteur=secteur.ID_secteur";
    	// .........
    }
    ?>

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Par défaut
    Merci pour cette réponse rapide.
    La suite de mon code pour procéder à l'affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      foreach($c->query($req2) as $l)//Récupération des informations
    			  {
    		          $Nom =$l["Nom_entreprise"];
    		          $Nom_secteur =$l["Nom_secteur"];
    		          $Description =$l["Description"];
    				  $Pourquoi =$l["Pourquoi"];
    		     }
     
    			 echo "<h4> Secteur: ".$Nom_secteur. "</h4>";
    			 echo "<p><h4> Description: </h4></p></form><p>".$Description."</p>";
    		      echo "<p><h4> Pourquoi l'avoir choisie? </h4></p><p>".$Pourquoi."</p>";
    Quand j'ouvre la page pour la première fois j'ai une erreur à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     foreach($c->query($req2) as $l)//Récupération des informations
    Il faudrait que le code s'exécute uniquement si j'ai saisi quelquechose dans la liste. Je débute en PHP.... Merci

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Par défaut
    J'ai réussi merci. Il suffisait de mettre mon code apres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    // 3/ Affichage du CHOIX :
    if(!empty($Choixidentreprise))
    {
    	// Requête contenant les informations de l'entreprise sélectionnée
    	$req2 = "SELECT Nom_entreprise,Description,Nom_secteur,Pourquoi 
    		FROM entreprise,secteur 
    		WHERE entreprise.ID_entreprise=".intval($Choixidentreprise)." AND entreprise.ID_secteur=secteur.ID_secteur";
    	// .........
    }

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

Discussions similaires

  1. [DOM ] retirer element d'une liste php et dom
    Par Tikenjahfakouli dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/07/2008, 15h43
  2. [PHP-JS] Débutant demande aide liste php
    Par bcbgtn dans le forum Langage
    Réponses: 1
    Dernier message: 14/06/2007, 11h24
  3. [MySQL] Erreur d'affichage d'un listing php dans un html
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/04/2006, 22h13
  4. double liste php
    Par clairette dans le forum Langage
    Réponses: 3
    Dernier message: 31/01/2006, 17h06
  5. [C#] Initialisation liste déroulante (dropdownlist)
    Par Amerok dans le forum ASP.NET
    Réponses: 20
    Dernier message: 23/11/2005, 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