PHP, boucle

Fermé
GuillaumeCu Messages postés 5 Date d'inscription vendredi 12 septembre 2008 Statut Membre Dernière intervention 6 novembre 2008 - 28 oct. 2008 à 11:36
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 - 28 oct. 2008 à 15:43
Bonjour,

Je suis en train d'effectuer un petit travail (afficher les personnes représentante de parti), et je suis bloqué.
N'étant pas très fort en programmation PHP, je solicite votre aide.
Je cherche a faire une boucle while qui me permet lors de l'affichage, d'avoir le nom du parti et en dessous les personnes représentant le parti) et ainsi de suite pour chaque parti.

Ci-dessous le code, j'ai mis en commentaire une tentative de boucle. mais ma boucle est fausse.

Pouvez-vous m'aidé ?

  
$select_candidat = "SELECT id_can, nom_can, prenom_can, profession_can, id_parti, nom_parti FROM tb_candidat, tb_parti WHERE fk_id_parti_can = id_parti ORDER BY no_liste_parti";
			$result_candidat = mysql_query ($select_candidat);
				
		


			 echo ("<table border='1' cellspacing='0' cellpadding='3'>");
			 while ($value_candidat = mysql_fetch_array ($result_candidat))
			{
				$id_can=$value_candidat ["id_can"];
				$nom = $value_candidat ["nom_can"];
				$prenom = $value_candidat ["prenom_can"];
				$profession = $value_candidat ["profession_can"];
				$parti = $value_candidat ["nom_parti"];
				
			     	
			 		echo ("<tr>");
				//	while ($res1=mysql_query($parti))
				//	{
 				//	$nb_parti=mysql_num_rows($res1);
				//	for($i=0;$i<$nb_parti-1;$i++){
 	                        //               $tab1=mysql_fetch_array($res1);
	                        //               echo $tab1['nom_parti'];
					

echo ("<td>" . $parti . "</td>");
  ?>
		
<td><a href="liste_can_det.php?id_can= <?php echo $id_can;?>"><?php echo $nom;?> </td>
						
<td><a href="liste_can_det.php?id_can= <?php echo $id_can;?>"><?php echo $prenom;?> </td>
				
<td><a href="liste_can_det.php?id_can= <?php echo $id_can;?>"><?php echo $profession;?> </td>
					
						
						
  <?php
						
			//}
			}


Je vous remercie de l'aide que vous pourrez m'apporter.

Guillaume

3 réponses

briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 18
28 oct. 2008 à 11:50
Je constates tout d'abord une erreur au niveau de la requete et une autre au niveau de la conception de ta boucle.
Je te conseilles de te referrencer au manuel php https://www.php.net/docs.php
Je suis la en cas où t'arrives toujours pas
1
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
28 oct. 2008 à 15:27
Pour l'erreur de ta requete :
voici ta requete
SELECT id_can, nom_can, prenom_can, profession_can, id_parti, nom_parti FROM tb_candidat, tb_parti WHERE fk_id_parti_can = id_parti ORDER BY no_liste_parti"

si on l'analyse, tu prend des donnée dans 2 table différentes : "tb_candidat" et "tb_parti"
donc dans ton select, php ne sais pas quand nom de champ est dans quel colonne.
tu peux utiliser alors une abréviation pour le nom des table
FROM tb_candidat c, tb_parti p

et donc pour le SELECT :
SELECT c.id_can, c.nom_can, c.prenom_can, c.profession_can, c.id_parti, c.nom_parti

ici j'ai mi c (= tb_candidat) car je ne sais pas quel champ est dans quel table donc a toi d'adapter.

ensuite pas oublié de mettre l'abréviation au reste de la requete
WHERE c.fk_id_parti_can = p.id_parti ORDER BY c.no_liste_parti

ici aussi, vérifie si c'est bien la bonne abréviation pour avoir la bonne table.

Ceci c'est pour ta requete.

Pour le code PHP je ne suis pas sur alors je préfère ne rien dire.
0
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 18
28 oct. 2008 à 15:43
Merci de corriger la requete comme a dit okuni et me renvoyer le code, je te verifirais le code php.
A+
0