Formulaire, éléments multiples et mise à jour
Bonjour à tous,
voilà j'ai un léger probléme, j'ai un formulaire qui se génére en fonction du nombre de champs dans la base de données (avec un while), jusque là ok ^^
mais pour updater ma base de données je bloque, j'ai trouvé comment ajouter dans chaque champs mes données, mais j'ai un probléme, il insére que les derniers données entré dans le formulaire, ce qui est logique en fonction du code mais je vois pas trop comment faire...
voici le formulaire
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
| <form action="horaire_nm.php" method="post">
<table>
<?php
$retour = mysql_query('SELECT * FROM h_horaire WHERE pid = '.$_POST['hid'].'');
while ($donnees = mysql_fetch_array($retour))
{
?>
<tr>
<td>
<select name="site">
<option value="<?php echo $donnees['site']; ?>" selected="selected">>> <?php echo $donnees['site']; ?></option>
<option value="CHR"> CHR </option>
<option value="Refuge"> Refuge </option>
</select>
</td>
<td>
<select name="jour">
<option value="<?php echo $donnees['jour']; ?>" selected="selected">>> <?php echo $donnees['jour']; ?></option>
<option value="Lundi"> Lundi </option>
<option value="Mardi"> Mardi </option>
<option value="Mercredi"> Mercredi </option>
<option value="Jeudi"> Jeudi </option>
<option value="Vendredi"> Vendredi </option>
<option value="Samedi"> Samedi </option>
<option value="Dimanche"> Dimanche </option>
</select>
</td>
</tr>
<tr>
<td>
Heure de début
</td>
<td>
<input type="text" name="hd" value="<?php echo $donnees['hd']; ?>"/>
</td>
</tr>
<tr>
<td>
Heure de fin
</td>
<td>
<input type="text" name="hf" value="<?php echo $donnees['hf']; ?>" />
</td>
</tr>
<?php } ?>
<tr>
<td colspan="2">
<input type="hidden" name="pid" value="<?php echo $_POST['hid'];?>" />
<input type="submit" value="finaliser" />
</td>
</tr>
</table>
</form> |
le php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| if ($_POST['site'])
{
$retour = mysql_query('SELECT id FROM h_horaire WHERE pid = '.$_POST['pid'].'');
while ($donnees = mysql_fetch_array($retour))
{
$site = stripslashes($_POST['site']);
$jour = stripslashes($_POST['jour']);
$hd = stripslashes($_POST['hd']);
$hf = stripslashes($_POST['hf']);
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("UPDATE h_horaire SET site='" . $site . "' , jour='".$jour."' , hd='".$hd."', hf='".$hf."' WHERE id='".$donnees['id']."'");
}
} |