Probleme de boucle PHP aider moi please merci

sephirothmana Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
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
A voir également:

19 réponses

Utilisateur anonyme
 
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 :)
0
sephirothmana Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Utilisateur anonyme
 
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 -_-" )
0
sephirothmana Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Yvan
 
Pourquoi 21 requêtes, c'est énorme !!

Surtout pour l'affichage d'un simple formulaire.
0
Utilisateur anonyme
 
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.
0
sephirothmana Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Utilisateur anonyme
 
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 :/
0
sephirothmana Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
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>";
}
?>
0
P@ Messages postés 1709 Date d'inscription   Statut Membre Dernière intervention   185
 
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
0
sephirothmana Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
sephirothmana Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Utilisateur anonyme
 
Je n est qu une seul chose a dire: Bravo a toi :)
0
sephirothmana Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
tu es en bts ig ou ???
0
canado Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Pareil je suis en bts premiere année, heu... tu est dans quel lycée?
0
sephirothmana Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
La martiniere duchere a Lyon et toi ???
0
canado Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
moi, a mendes france (Epinal) dans les vosges.
0
sephirothmana Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
Oh la camarade ca f loin
0
Utilisateur anonyme
 
moi, je suis en bts ig en seine et marne (77)
0