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 :

soucis avec 2 while dans un while


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Inscrit en
    Juin 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 85
    Par défaut 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 : 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
    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 : 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
    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 "&nbsp"; echo $donneeshotels['ville_hotel']; echo "&nbsp"; 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

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Bonjour,

    Regarde ton code source HTML.
    A tout hasard, il me semble que ton 'selected' est collé à ce qui est devant.
    Essaie ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $selected = ' selected';
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

Discussions similaires

  1. [XL-2010] Gros soucis avec "Do While"
    Par philippe-thuin dans le forum Excel
    Réponses: 1
    Dernier message: 05/12/2013, 14h59
  2. Souci avec une variable dans une requete
    Par polianita dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 21/06/2006, 17h05
  3. [MySQL] Soucis avec une insertion dans une base
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 27/01/2006, 14h03
  4. Soucis avec les Graphiques dans les états
    Par Chococrocq dans le forum IHM
    Réponses: 27
    Dernier message: 04/01/2006, 19h03
  5. [Debutant/WinAPI] Souci avec boucle While et GetMessage()
    Par SnowStyle dans le forum Windows
    Réponses: 11
    Dernier message: 15/10/2005, 19h19

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