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 dans une page en php dont les valeurs doivent être récupérées d'une BDD PhpMyadmin [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Liste déroulante dans une page en php dont les valeurs doivent être récupérées d'une BDD PhpMyadmin
    Bonjour,

    je me suis lancé dans la création d'un CRUD PHP/mysql et je bloque.

    Dans ma base de données, j'ai un champs appelé Priorite, de type ENUM :
    3 valeurs possibles : « Basse » , « Normale » et « Haute ».

    Je ne parviens pas à récupérer la valeurs de ce champs dans un formulaire, via une liste déroulante.

    Voici le code de ma page :

    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
    <?php	
    	require 'database.php';
    	$ID = null;
    	if ( !empty($_GET['ID'])) {
    		$ID = $_REQUEST['ID'];
    	}
     
    	if ( null==$ID ) {
    		header("Location: tableau.php");
    	} else {
    		$pdo = Database::connect();
    		$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    		$sql = "SELECT * FROM taches where ID = ?";
    		$q = $pdo->prepare($sql);
    		$q->execute(array($ID));
    		$data = $q->fetch(PDO::FETCH_ASSOC);
    		Database::disconnect();
    	}
    ?>		
     
    <html>
    	<head>
    		<meta charset="utf-8"/>
    		<link href="style.css" rel="stylesheet" media="all" type="text/css">
    		<title>Modification d'une tâche</title>  
    	</head>
     
    	<body>		
    		<h3>Modifier une tâche</h3>	   
     
    	    			<form class="formulaire" action="update.php" method="post">
    					<p>
    						<label for="Client">Client : </label>						   
    						<input name="Client" type="text"  placeholder="Client" value="<?php echo $data['Client'];?>" required>								
    					</p>
     
    					<p>
    						<label for ="Priorite">Priorité : </label>											  
    						<select name="Priorite" type="text"  placeholder="Priorite" value="<?php echo $data['Priorite'];?>">
    						<option value=<?php echo $data['Priorite'];?> </option>
    						</select>								
    					</p>					
    						  <button type="submit">Modifier</button>
    						  <a class="noir" href="tableau.php">Retour</a>
     
    					</form>				
     
      </body>
    </html>
    Si une bonne âme voulait bien m’éclairer, merci d’avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    J'ai eu à peu près le même problème que toi. J'ai cherché longtemps avant de trouver.
    Dans mon cas, je cherchais à afficher le nom de mes logiciels dans une liste déroulante. Pour toi il faut l'adapter avec ta table "priorité".

    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
     
    <?php
    				try
                    {               
                        // On se connecte à MySQL
                        $bdd = new PDO('mysql:host=localhost;dbname=nomdebase', 'root', '');
                    }
                    catch(Exception $e)
                    {
                        // En cas d'erreur, on affiche un message et on arrête tout
                        die('Erreur : '.$e->getMessage());
                    }
     
    				$reponse = $bdd -> query('select * from logiciels');
    				$donnees = $reponse->fetchAll();
    				var_dump($donnees);
     
     
    				$reponse = $bdd -> query('select * from logiciels');
    			echo '<select name="nom_logiciel">';
    			while ($donnees = $reponse->fetch()){
     
     
     
       echo '<option value="'.htmlspecialchars($donnees['nom_logiciel']).'">' . htmlspecialchars($donnees['nom_logiciel']) . '</option>';
    }
    echo '</select>';	
     
     
    ?>
    En espérant d'avoir donner une piste de réflexion !!

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour macfly95,

    tout d'abord, merci à toi pour ton aide.
    J'ai adapté ton script à ma base de données mais je n'obtiens pas de liste déroulante, j'obtiens ceci à l'écran :

    Code SQL : 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
     
    array (size=13)
      0 => 
        array (size=14)
          'ID' => string '2' (length=1)
          0 => string '2' (length=1)
          'Client' => string 'M. FIRST' (length=8)
          1 => string 'M. FIRST' (length=8)
          'Tache' => string 'AGOA' (length=4)
          2 => string 'AGOA' (length=4)
          'Priorite' => string 'Basse' (length=5)
          3 => string 'Basse' (length=5)
          'AffecterA' => string 'Sophie' (length=6)
          4 => string 'Sophie' (length=6)
          'Statut' => string 'Non commence' (length=12)
          5 => string 'Non commence' (length=12)
          'Date_echeance' => string '2014-09-24' (length=10)
          6 => string '2014-09-24' (length=10)
      1 => 
        array (size=14)
          'ID' => string '5' (length=1)
          0 => string '5' (length=1)
          'Client' => string 'Client 4' (length=8)
          1 => string 'Client 4' (length=8)
          'Tache' => string 'agob' (length=4)
          2 => string 'agob' (length=4)
          'Priorite' => string 'Basse' (length=5)
          3 => string 'Basse' (length=5)
          'AffecterA' => string 'Sophie' (length=6)
          4 => string 'Sophie' (length=6)
          'Statut' => string 'Non commence' (length=12)
          5 => string 'Non commence' (length=12)
          'Date_echeance' => string '2014-09-19' (length=10)
          6 => string '2014-09-19' (length=10
    )...

    Je continue donc à chercher. Encore merci à toi.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Je viens de trouver la solution, voici le script qui permet de récupérer la valeur d'un champs dans une liste déroulante :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <p>
    	<label for ="Priorite">Priorité : </label>											  
    	<select name="Priorite" type="text"  placeholder="Priorite">
    	<option value=<?php echo $data['Priorite'];?> <?php echo $data['Priorite'];?> </option>
    	</select>								
    </p>

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/11/2014, 16h12
  2. [MySQL] récupérer l'item selctionné d'une liste déroulante dans une variable php
    Par car0line dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 22/04/2009, 14h30
  3. liste déroulante dans une page jsp
    Par mike5923 dans le forum Struts 1
    Réponses: 3
    Dernier message: 03/01/2008, 22h28
  4. Réponses: 11
    Dernier message: 26/04/2007, 10h40
  5. Réponses: 1
    Dernier message: 02/04/2007, 15h56

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