Probleme de boucle PHP aider moi please merci

Bonjour je suis stagiaire en première année de BTS et g besoin d'aide

J'ai réalisé des liste de choix en php alimenter par requete sql
mais je les ai ttes rentrées en dure et mon tuteur de stage souhaiterait que je les rentres en passant par une boucle php
Le prob c que je ne sais pas du tt comment faire

Si kk1 peut m'aider ce serait sympa merci

Seul les fous et le barbares ne demandent pas d'aide

19 réponses

  1. bonjour a toi, pet tu nous donner le code que tu a pour le moment, que l ont puisse apres l integrer dans une boucle php :)
    1. bien sur voila le code
      </select><select name="auteur1">
      <option select>Saisie obligatoire</option>
      <?php
      while($val1=mysql_fetch_array($query2))
      {
      echo "<option>".$val1["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur2">
      <option select></option>
      <?php
      while($val2=mysql_fetch_array($query3))
      {
      echo "<option>".$val2["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur3">
      <option select></option>
      <?php
      while($val3=mysql_fetch_array($query4))
      {
      echo "<option>".$val3["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur4">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query5))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur5">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query6))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur6">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query7))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur7">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query8))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur8">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query9))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur9">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query10))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur10">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query11))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur11">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query12))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur12">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query13))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur13">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query14))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur14">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query15))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur15">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query16))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur16">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query17))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur17">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query18))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur18">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query19))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur19">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query20))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select><select name="auteur20">
      <option select></option>
      <?php
      while($val=mysql_fetch_array($query21))
      {
      echo "<option>".$val["publi_auteurnom"]. "</option>n";
      }
      ?>
      </select>
      il faudrait ke j'arrive a le passer en boucle parce que c un peu lourd
      Alors si kk1 peut m'aider ce serait cool
      Merci d'avance
      
      1. Essaie avec ca, et dit moi si ca marche:

        <?php
        for($i=1;$i<=20;$i++)
        {
        echo"</select><select name='auteur.$i'>";
        ?>

        <option select>Saisie obligatoire</option>
        <?php
        while($val.$i=mysql_fetch_array($query2.$i+1))
        {
        echo "<option>".$val.$i["publi_auteurnom"]. "</option>n";
        }
        ?>

        Je n en suis vraiment pas sure, il y a peut etre des erreurs dans le code, ca fait quelque temps que je n ai pas fait du php (et va falloir que je m y remette -_-" )
        1. Merci ca marche pas mais c pas loin du bon code
          je cherhce a ameliorer ton code je pense ke ca devrait marcher si t'as d'autres idées donne les moi merci
          1. Pourquoi 21 requêtes, c'est énorme !!

            Surtout pour l'affichage d'un simple formulaire.
            1. Pour que je puisse l ameliorer, il faudrais que tu me dise ou il y a l erreur (si il y a une erreur a une ligne donnée), ou si il t affiche la page, ce qu il ne fait pas par rapport a ton code sans la boucle.
              1. Merci de m'aider le probleme c'est que je n'ai pas réussi avec une seule requete si c possible c mieux sinon la boucle n'affiche pas les liste de choix
                Merci a tous du temps que vous passez pour m'aider

                Ne cherche pas a te faire remarquer
                Fais plutôt quelque chose de remarquable
                Confucius
                1. La, je peut pas te repondre, car je ne suis pas chez moi (stage 1ere année bts ig), et je ne peut donc pas tester le code, il m est donc tres difficile de le modifier.
                  Encore desole :/
                  1. Re Bonjour
                    C toujours moi j'envoie une version du code que g fait
                    maintenant la boucle fonctinne elle cree les liste de choix mais elle ne remplit que la première si vous pouviez m'aider ce serait sympa
                    Merci
                    <?php
                    define("SERVEUR","localhost");
                    define("LOGIN","leom");
                    define("MDP","leom");
                    define("MABASE","dbleom");
                    //connexion au serveur de BD MySql
                    $connexion=mysql_connect(SERVEUR,LOGIN,MDP);
                    //connexion a la base de donnée
                    mysql_select_db(MABASE,$connexion);
                    // execution des requetes
                    $req2 = "SELECT publi_auteurnom FROM publi_auteur";
                    $query2 = mysql_query($req2);
                    for($i=1;$i<=20;$i++)
                    {
                    	echo"<select name='auteur.$i'>";
                    		
                    	if ($i==1)
                    	{
                    		echo"<option select>Saisie obligatoire</option>";
                    	}
                    	else
                    	{
                    		echo"<option select></option>";
                    	}
                    	while($val=mysql_fetch_array($query2))
                    	{
                    	echo "<option>".$val["publi_auteurnom"]. "</option>n";
                    	}
                    	echo"</select>";
                    }
                    ?>
                    1. il te renvoie 19 <option select></option>, non ??
                      si oui ... regarde tu lui demande si $i =1 sans quoi <option select></option>
                      ...
                      if ($i==1)
                      	{
                      		echo"<option select>Saisie obligatoire</option>";
                      	}
                      	else
                      	{
                      		echo"<option select></option>";
                      	}
                      	while($val=mysql_fetch_array($query2))
                      	{
                      	echo "<option>".$val["publi_auteurnom"]. "</option>n";
                      	}

                      il faudrait plutôt que tu fasse quelque chose comme
                      	if ($i==1)
                      	{
                      		echo"<option select>Saisie obligatoire</option>";
                      	}
                      	else
                      	{
                      		while($val=mysql_fetch_array($query2))
                      	{
                      	echo "<option>".$val["publi_auteurnom"]. "</option>n";
                      	}
                      }
                      


                      enfin, c'est ma compréhension de la chose ...
                      mais tu vois il faut que tu remplisses tes options dans ton else
                      1. Merci mais il fo remplir toute les listes de choix avec les données
                        la fonction if n'est la que pour definir la valeur par default des champs
                        Merci encore de ton aide je continu de cherhcer de mon cote si tu trouve fais moi signe merci
                        1. Loue soit les anges de l'informatique car g trouve la solution je la repend tel la bonne nouvelle
                          <?php
                          
                          
                          while($i<=20)
                          {
                          $req2 = "SELECT publi_auteurnom FROM publi_auteur";
                          $query2 = mysql_query($req2);	
                          $req3 = "SELECT publi_auteurinitial FROM publi_auteur";
                          $query3 = mysql_query($req3);
                          echo"<select name='auteur.$i'>";	
                          	if ($i==1)
                          	{
                          		echo"<option select>Saisie obligatoire</option>";
                          	}
                          	else
                          	{
                          		echo"<option select></option>";
                          	}
                          	while($val=mysql_fetch_array($query2))
                          	{
                          	while($val2 = mysql_fetch_array($query3))
                          	{
                          	echo "<option>".$val["publi_auteurnom"].".".$val2["publi_auteurinitial"]. "</option>n";
                          	}
                          	}
                          	echo"</select>";
                          	$i++;
                          }
                          ?>

                          Merci encore a tt ceux ki m'on aider
                          Je ne manquerai pas de m'en rappeller en cas de pepin