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 :

Récupérer valeur dans liste déroulante [PHP 7]


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2022
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Récupérer valeur dans liste déroulante
    Bonjour,
    J'ai 2 tables comix_artistes, et comix_specialites.
    comix_artistes valeurs : id_artiste, nom_artistes, prenom, id_specialite, reference.
    comix_specialites : id_specialite, nom_specialite.
    Comment faire pour récupérer la valeur dans la liste déroulante quand je fais un "update" ?
    Merci d'avance,
    J-M-T
    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
    28
    29
    30
    <form action="" method="post"  name="form">
    	<div class="fixed">  
    		<div class="form-group">
    			<input  type="text" name="nom_artiste"   placeholder="Entrer un nom_artiste" value = "<?php echo $nom_artiste; ?>" style="width: 200px;">
    		</div>
    		<div class="form-group">
    			<input  type="text" name="prenom"   placeholder="Entrer un prenom" value = "<?php echo $prenom; ?>" style="width: 200px;">
    		</div>	
    		<div class="form-group">
    			<select name="id_specialite" style="width: 204px;">
    				<option value="0">- Aucun -</option>
    				<?php
                                    $result = mysqli_query($link, "select * from comix_specialites");
                                    while($row = mysqli_fetch_array($result)) {     
                                    ?>
    				<option value="<?php echo $row['id_specialite'];?>"><?php echo $row["nom_specialite"]?></option>
    				<?php
                                    }
                                    ?>
    			</select>
    		</div>
    		<div class="form-group">
    			<input  type="text" name="reference"   placeholder="Entrer une reference" value = "<?php echo $reference; ?>" style="width: 200px;">
    		</div>
     
    		<div class="form-group">
    			<input type="submit" name="update" class="button_edit" value="Mise a jour">
    		</div>
    	</div>	
    </form>

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 394
    Points : 15 755
    Points
    15 755
    Par défaut
    dans la boucle "while", vous pouvez tester la valeur de $row['id_specialite'] pour savoir si c'est l'élément associé à l'artiste.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2022
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Avant tout, merci pour votre réponse si rapide ! Je ne m'attendais pas à avoir une réponse avant au moins demain. J'ai fait une formation php 5 en 2008, évidement plus aucun fichier ne fonctionne.
    J'ai décidé de les refaire. Celui-ci était mon projet de fin de formation, un site de comix.
    Ca fait 2 semaines que l'essaye de faire fonctionner la liste déroulante, la raison pourquoi je me suis inscrit, quand soudainement j'ai réussi. Reste seulement le problème du "selected".
    Je sais qu'il faut probablement mettre une condition if…. ou un selected="selected" mais je suis incapable de savoir quoi, trop rouillé !
    J'ai déjà essayé plusieurs avant fois pour copier l'original voici le dernier :
    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
     
    <select name="id_specialite" style="width: 204px;">
    	<option value="0">- Aucun -</option>
    	<?php
    	$result = mysqli_query($link, "select * from comix_specialites");
    	while($row = mysqli_fetch_array($result)) {	
    	if ($res->$row['id_specialite'] == $result->$id_specialite){
    	?>	
    	<option value=<?php echo $row["nom_specialite"]?></option>
    	<?php
    	}else {
    	?>
    	<option value="<?php echo $row['id_specialite'];?>"><?php echo $row["nom_specialite"]?></option>
    	<?php
    	}
    	}
     
    	?>
    </select>
    Evidement il n'aime pas !
    Pour info, voici la version 2008 :
    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
     
    	<select name="id_specialite">
        	<option value="0">- Aucun -</option>
    <?php
    		$specialitessql = "SELECT * FROM comix_specialites ORDER BY nom ";
    		$specialites = mysql_query($specialitessql);
    		if ($specialites == false) {
    			print mysql_error()."<br />". $specialitessql ."<br>";
    			exit;
    		}
     
    		while ($specialite = mysql_fetch_object($specialites)) {
    			if ($artiste->id_specialite == $specialite->id_specialite) {
    				print '<option value="'. $specialite->id_specialite .'" selected ="selected" >'. $specialite->nom .'</option>';
    			} else {
    				print '<option value="'. $specialite->id_specialite .'" >'. $specialite->nom .'</option>';
    			}
    		}
     
    ?>
    	</select>
    Ca doit être le selected ="selected" qui choisi la valeur envoyé mais impossible de le faire fonctionné.

    Cordialement,
    J-M-T

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2022
    Messages : 5
    Points : 1
    Points
    1
    Par défaut id_specialite
    Bonjour,
    J'ai refais en testant pour id_specialite, ça ne fonctionne toujours pas ! Ai-je mal écrit la ligne "selected = 'selected' " ?
    Cordialement,
    J-M-T
    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
     
    <?php	
    	if($link === false){
    		die("Error: pas de connection !" . mysqli_connect_error());
    	}
    	// Pour recuperer la valeur id_specialite dans artistes
    	$sql ="SELECT * FROM comix_artistes  WHERE id_artiste=5 "; // 5 pour tester  	 
    	if($result = mysqli_query($link, $sql)) {
    		if(mysqli_num_rows($result) > 0){
    			while($row = mysqli_fetch_array($result)){
    				$artistes_selected_id = $row['id_specialite']; 
    			}	
    			mysqli_free_result($result);	
    		} 
    			else {
    				echo "Erreur...";
    			}
    	}	
     
     
    	$sql2 ="SELECT * FROM comix_specialites";
    	if($result = mysqli_query($link, $sql2)) {
    		if(mysqli_num_rows($result) > 0){
    			while($row = mysqli_fetch_array($result)){
    				//echo $row['id_specialite'];	 
    			}	
    			mysqli_free_result($result);	
    		} 
    			else {
    				echo "Erreur...";
    			}
    	}
    ?>	
     		<?php
    		echo  "<br />"; 
    		?>
     
    	<select name="id_specialite" style="width: 204px;">
    		<option value="0">- Aucun -</option>
    		<?php
    		$result = mysqli_query($link, "SELECT * from comix_specialites");
    		while($row = mysqli_fetch_array($result)) {
    			if($artistes_selected_id == $row['id_specialite']) {	
    		?>
    		<option value="<?php echo $row['id_specialite'];?> selected = 'selected'"><?php echo $row["nom_specialite"];?></option>
    		<?php
    			}else{
    		?>
    		<option value="<?php echo $row['id_specialite'];?>"><?php echo $row["nom_specialite"];?></option>		
    		<?php
    		}
    		}
    		?>
    	</select>

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2022
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Fin
    Oui j'avais oublié un " !
    Ca y et ça marche. Merci.
    Cordialement,
    J-M-T

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2022
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Fichier finale uitlisant les deux tables :
    Résolu.
    Voici le fichier: Mise a jour qui fonctionne.
    Encore merci !
    J-M-T
    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
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
     
    <?php
    include 'connection.php'; 
    $id_artiste=$_GET["id_artiste"];
     
    $nom_artiste	="";
    $prenon		="";
    $id_specialite	="";
    $reference		="";
     
    $res=mysqli_query($link, "select * from comix_artistes where id_artiste=$id_artiste");
     
    while($row=mysqli_fetch_array($res))
    {
    	$nom_artiste	=$row["nom_artiste"];
    	$prenom		=$row["prenom"];
    	$id_specialite	=$row["id_specialite"];
    	$reference		=$row["reference"];	
    }
    ?> 
     
    <!DOCTYPE html>
    <html lang="fr">
     
    <head>
    	<link rel="stylesheet" href="css/nouveau.css" type="text/css">
    	<meta charset="UTF-8">
    	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    	<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    	<title>edit artiste</title>
     
      <script type="text/javascript" src="https://cdn.datatables.net/v/bs4/dt-1.10.18/datatables.min.js"></script>
    </head>
    <body>
    	<div id="container">
    	<hr />
    	<!--ajouter/modifier input--------------->
    		<div class="input ">	 
    			<h2>Artistes</h2><br />
    			<p class="ajouter_modifier">ajouter/modifier</p><br />
    			<!---------------------- input form -------------------------------------------->
     
    		<div class="fixed"> 
    			<form action="" method="post"  name="form1">
    				<div class="form-group"><label for="dog-names"> </label>
    					<input  type="text" name="id_artiste"   placeholder="Entrer un id_artiste" value = "<?php echo $id_artiste; ?>" style="width: 200px;">
    				</div>
    				<div class="form-group">
    					<input  type="text" name="nom_artiste"   placeholder="Entrer un nom_artiste" value = "<?php echo $nom_artiste; ?>" style="width: 200px;">
    				</div>
    				<div class="form-group">
    					<input  type="text" name="prenom"   placeholder="Entrer un prenom" value = "<?php echo $prenom; ?>" style="width: 200px;">
    				</div>					
    				<?php					
    				//Liste déroulante specialitées
     
    				$sql2 ="SELECT * FROM comix_specialites";
    				if($result = mysqli_query($link, $sql2)) {
    					if(mysqli_num_rows($result) > 0){
    						while($row = mysqli_fetch_array($result)){
    							//echo $row['id_specialite'];	 
    						}	
    						mysqli_free_result($result);	
    					} 
    						else {
    							echo "Erreur...";
    						}
    				}
    				?>	
    				<?php
    				echo  "<br />"; 
    				?>
    				<div class="form-group">
    					<select name="id_specialite" style="width: 204px;">
    						<option value="0">- Aucun -</option>
    						<?php
    						$result = mysqli_query($link, "SELECT * from comix_specialites");
    						while($row = mysqli_fetch_array($result)) {
    							if($id_specialite  == $row['id_specialite']) {	
    						?>
    						<option value="<?php echo $row['id_specialite'];?> "selected = 'selected'"><?php echo $row["nom_specialite"];?></option>
    						<?php
    							}else{
    						?>
    						<option value="<?php echo $row['id_specialite'];?>"><?php echo $row["nom_specialite"];?></option>		
    						<?php
    						}
    						}
    						?>
    					</select>
    				</div>
    				<div class="form-group">
    					<input  type="text" name="reference"   placeholder="Entrer une reference" value = "<?php echo $reference; ?>" style="width: 200px;">
    				</div>
     
    				<div class="form-group">
    					<input type="submit" name="update" class="button_edit" value="Mise a jour">
    				</div>
    			</form> 
    		</div> 
    		<?php
    			 $categoryName = $row["id_specialite"];
     
     
    			$sql ="SELECT * FROM comix_specialites";
    				if($result = mysqli_query($link, $sql)) {
    					if(mysqli_num_rows($result) > 0){
    						while($row = mysqli_fetch_array($result)){
    							$dbselected = $row['id_specialite'];
     
    						}	
    						//mysqli_free_result($result);	
    					}
     
    				}
    		?>
     
    <br />
    <?php 
    if(isset($_POST["insert"]))
    {
    	mysqli_query($link,"insert into comix_artistes values(NULL,'$_POST[nom_artiste]','$_POST[prenom]','$_POST[id_specialite]','$_POST[reference]')");
    } 
     
    if(isset($_POST["delete"]))
    {
    	mysqli_query($link,"delete from comix_artistes where id_artiste='$_POST[id_artiste]'") or die(mysqli_error($link));
    }
     
    if(isset($_POST["update"]))
    {
    	mysqli_query($link,"update comix_artistes set nom_artiste='$_POST[nom_artiste]', prenom='$_POST[prenom]',id_specialite='$_POST[id_specialite]',reference='$_POST[reference]' where id_artiste=$id_artiste");
     
    ?>
    <script type="text/javascript">
    	window.location="artistes_index.php";
    </script>
    <?php
    }
    ?> 
    <div class="footer">&copy; 2022 MycomiX  - <a href="mentions_legales.html">Mentions légales</a></div>

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

Discussions similaires

  1. Récupérer valeurs dans liste
    Par steve3000 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 29/05/2009, 22h21
  2. récupération de valeur dans liste déroulante
    Par kumo dans le forum Requêtes et SQL.
    Réponses: 23
    Dernier message: 04/06/2007, 09h21
  3. récupération valeur dans liste déroulante
    Par kumo dans le forum Modélisation
    Réponses: 9
    Dernier message: 26/05/2007, 18h47
  4. Sélection de valeur dans liste déroulante
    Par tonito53 dans le forum Struts 1
    Réponses: 3
    Dernier message: 27/12/2006, 13h47
  5. [SQL] récupérer sélection dans liste déroulante
    Par nerick dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/12/2005, 11h30

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