soucis avec 2 while dans un while
Bonjour,
J'ai un symptôme gênant lors d'un update.
J'ai un formulaire qui est à l'affichage d'une ligne avec 5 champs, dont 2 menu déroulants dynamiques appelant les données dans une base, et donc en boucle avec while.
Cette ligne est aussi en boucle avec while. Elle englobe donc les deux boucles des menus déroulants. (affichage d'une douzaine de ligne, avec un bouton update pour chacune).
Une fois sur deux, après l'update, j'ai le sablier qui tourne, en terminant avec un message d'erreur apres 15s 'Gateway Timeout
The gateway did not receive a timely response from the upstream server or application.'
La mise a jour a pourtant été enregistré. D'ailleurs, si durant la période du sablier, je demande la mise a jour d'une autre ligne, elle est aussi enregistré.
J'ai fait beaucoup de tes pour essayer de localiser le problème.
En supprimant le premier menu deroulant (code_journee), je n'ai plus le soucis. Ce qui n'est pas vrai si je supprime le second (code_hotel).Je ne vois pourtant pas de problème d'écriture dans le code.
Voici la requete
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
| if(isset($_POST['form1'])) {
// Réecriture des variables
$id=$_POST['id'];
$date=$_POST['date'];
$jour=$_POST['jour'];
$code_journee=$_POST['code_journee'];
$notes=mysqli_real_escape_string($connect, $_POST['notes']);
$code_hotel=$_POST['code_hotel'];
$majcontenu="UPDATE devis_itineraires SET date='$date', jour='$jour', code_journee='$code_journee', notes='$notes', code_hotel='$code_hotel' WHERE id = '$id' ";
// Exécution de la requête
$enr=mysqli_query($connect, $majcontenu);
// Contrôle sur la requête
if(!$enr) {
die('Erreur SQL !'.$majcontenu.'<br />'.mysqli_error());
}
else {
header("Location: modif-itineraire.php?codeitineraire=$codeitineraire&version=$version");
}
} |
et 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 55 56 57 58 59 60
| while($donnees = mysqli_fetch_assoc($itineraire)) {?>
<form id="form1" name="form1" method="post" action="modif-itineraire.php?codeitineraire=<?php echo $donnees['code_circuit']; ?>&version=<?php echo $donnees['version']; ?>">
<table width="98%" border="0">
<tr>
<td width="10%"><div align="center">
<input type="date" name="date" value="<?php echo htmlentities($donnees['date'], ENT_COMPAT, 'UTF-8'); ?>" size="20" />
</div></td>
<td width="5%"><div align="center"><input type="text" name="jour" value="<?php echo htmlentities($donnees['jour'], ENT_COMPAT, 'UTF-8'); ?>" size="20" /></div></td>
<td width="35%"><div align="center"><select id="code_journee" name="code_journee">
<?php
mysqli_data_seek($base_contenus,0);
do
{
if ($donneescontenus['code_journee'] == $donnees['code_journee'])
{ $selected = 'selected'; }
else { $selected = ''; }
?>
<option value="<?php echo $donneescontenus['code_journee']; ?>"<?php echo $selected; ?>><?php echo $donneescontenus['menu_deroulant']; ?></option>
<?php
} while($donneescontenus = mysqli_fetch_assoc($base_contenus));
?>
</select></div></td>
<td width="15%"><div align="center">
<textarea name="notes" cols="20" rows="1"><?php echo htmlentities($donnees['notes'], ENT_COMPAT, 'UTF-8'); ?></textarea>
</div></td>
<td width="25%"><div align="center"><select name="code_hotel">
<?php
mysqli_data_seek($hotels,0);
while($donneeshotels = mysqli_fetch_assoc($hotels))
{
if ($donneeshotels['code_hotel'] == $donnees['code_hotel'])
{ $selected = 'selected'; }
else { $selected = ''; }
?>
<option value="<?php echo $donneeshotels['code_hotel']; ?>"<?php echo $selected; ?>><?php echo $donneeshotels['pays_hotel']; echo " "; echo $donneeshotels['ville_hotel']; echo " "; echo $donneeshotels['nom_hotel']; ?></option>
<?php
}
?>
</select>
</div></td>
<td width="5%">
<table width="25" height="25" border="0">
<tr>
<td width="5%"><div align="center"><button name="button">Maj</button>
<input type="hidden" name="form1" value="form1" />
<input type="hidden" name="id" value="<?php echo $donnees['id']; ?>" /></div></td>
<td width="5%"><div align="center"><a href="devis-traitement-suppression.php?id=<?php echo $donnees['id']; ?>&codeitineraire=<?php echo $donnees['code_circuit']; ?>&version=<?php echo $donnees['version']; ?>"><img src="../../icones/corbeille.gif" alt="jeter" width="20" height="20" border="0" /></a></div></td>
</tr>
</table>
</div></td>
</tr>
</table>
</form> |
Je suis coincé !
Merci pour votre aide et conseil