2 pièce(s) jointe(s)
Récupérer données d'un champ Mysql dans une liste déroulante
Bonjour,
Je vous explique mon problème.
Lorsque j'entre des informations multi-champs, ceux-ci sont sauvegardés en Mysql, cependant j'ai une liste déroulante qui affiche les données venant d'une autre table (table club); l'ajout se passe bien, ainsi que l'affichage mais lorsque je retourne dans ce formulaire pour modifier l'enregistrement, tous les champs sont bien transmis sauf la liste déroulante qui affiche toujours le premier de la liste et non celui que j'ai sélectionné lors du premier ajout.
Voici une démonstration avec deux captures d'écrans.
Pièce jointe 343333Pièce jointe 343334
Je pense que mon soucis ce situe ici ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <tr>
<td>Nom du Club:</td>
<td><select name="fk_club">
<?php
while($data = mysqli_fetch_array($reso))
{
?>
<option value="<?php echo $data['pk_club']?>"><?php echo $data['nom_club']?></option>
<?php }
?>
</select></td>
</tr> |
Voici mon code complet
Code:
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
| <?php
// including the database connection file
include_once("config_bd.php");
if(isset($_POST['update']))
{
$pk_membre = mysqli_real_escape_string($mysqli, $_POST['pk_membre']);
$nom_membre = mysqli_real_escape_string($mysqli, $_POST['nom_membre']);
$prenom_membre = mysqli_real_escape_string($mysqli, $_POST['prenom_membre']);
$dateNaissance_membre = mysqli_real_escape_string($mysqli, $_POST['dateNaissance_membre']);
$fk_club = mysqli_real_escape_string($mysqli, $_POST['fk_club']);
if(empty($nom_membre) || empty($prenom_membre) || empty($dateNaissance_membre) || empty($fk_club)){
if(empty($nom_membre)) {
echo "<font color='red'>Le nom du membre est vide.</font><br/>";
}
if(empty($prenom_membre)) {
echo "<font color='red'>Le prenom du membre est vide.</font><br/>";
}
if(empty($dateNaissance_membre)) {
echo "<font color='red'>La date de naissance du membre est vide.</font><br/>";
}
if(empty($fk_club)) {
echo "<font color='red'>Le fk club est vide.</font><br/>";
}
} else {
//updating the table
$result = mysqli_query($mysqli, "UPDATE membres SET nom_membre='$nom_membre',prenom_membre='$prenom_membre', dateNaissance_membre='$dateNaissance_membre', fk_club='$fk_club' WHERE pk_membre=$pk_membre");
//redirectig to the display page. In our case, it is index.php
header("Location: vue_membre.php");
}
}
//getting id from url
$pk_membre = $_GET['pk_membre'];
//selecting data associated with this particular id
$result = mysqli_query($mysqli, "SELECT * FROM membres WHERE pk_membre=$pk_membre");
while($res = mysqli_fetch_array($result))
{
$nom_membre = $res['nom_membre'];
$prenom_membre = $res['prenom_membre'];
$dateNaissance_membre = $res['dateNaissance_membre'];
$fk_club = $res['fk_club'];
}
// requete pour la liste déroulante
$reso = mysqli_query($mysqli,"SELECT pk_club,nom_club FROM clubs");
?>
<html>
<head>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Palais des Sports</title>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="style/style1.css">
<body>
<div class="bandeau-bleu">
<h2>Palais des Sports</h2>
<a href="index.php?logout='1'"><i class="material-icons"></i></a>
<a href="welcome.php"><i class="material-icons"></i></a>
</div>
<div class="form_encodage">
<a href="vue_membre.php"><h3>Cliquez ici pour afficher les enregistrements</h3></a>
<br />
<h4> Editer un enregistrement</h4><br />
<form name="form1" method="post" action="edit_membre.php">
<table border="0">
<tr>
<td>Nom du Membre:</td>
<td><input type="text" name="nom_membre" value="<?php echo $nom_membre;?>"></td>
</tr>
<tr>
<td>Prenom du Membre:</td>
<td><input type="text" name="prenom_membre" value="<?php echo $prenom_membre;?>"></td>
</tr>
<tr>
<td>Date Naissance du Membre:</td>
<td><input type="text" name="dateNaissance_membre" value="<?php echo $dateNaissance_membre;?>"></td>
<tr>
<td>Nom du Club:</td>
<td><select name="fk_club">
<?php
while($data = mysqli_fetch_array($reso))
{
?>
<option value="<?php echo $data['pk_club']?>"><?php echo $data['nom_club']?></option>
<?php }
?>
</select></td>
</tr>
</td></tr>
<td><input type="submit" name="update" class="bouton_bleu" value="Update"></td>
<td><input type="hidden" name="pk_membre" value=<?php echo $_GET['pk_membre'];?>></td>
</tr>
</table>
</form>
</div>
</body>
</html> |
Pourriez-vous m'aider afin que cette liste déroulante affiche le bon élément lorsque je retourne dans le formulaire pour effectuer une modification?
D'avance merci