par
Ryle » 26 juin 2010, 09:40
Le while contrôle qu'une condition est vraie. Tant que celle-ci est vraie, le while s'exécute.
Actuellement, ta condition est "tant que $reponse->fetch() renvoi des données, je les affecte dans la variable $donnees". Rien ne t'empêche de compléter cette condition avec une autre :
while ($donnees = $reponse->fetch() && $donnees1 = $reponse1->fetch())
L'inconvénient de cette méthode c'est qu'il te faut le même nombre d'enregistrements dans les deux tables (si j'en ai 4 dans l'une et 2 dans l'autre, cela n'affichera que les 2 premiers)
Si ce n'est pas ce que tu veux, tu peux aussi utiliser un OU ( || ), auquel cas tant qu'il y a des données dans l'un ou dans l'autre, tu entreras dans la boucle. Il faudra cependant tester tes variables $donnees et $donnees1 pour vérifier qu'elles sont bien renseignées avant de les utiliser.
L'autre inconvénient de cette méthode c'est qu'il n'y a aucun lien entre ta banderole et ta salle. Du coup l'affichage des banderoles et des salle peut être aléatoire, et ne pas présenter la banderole de la salle (s'il y a bien une banderole par salle). Dans ce cas, plutôt que de faire deux requêtes, tu peux n'en faire qu'une seule avec une jointure entre tes deux tables de façon à récupérer à chaque fois la banderole et la salle correspondante. Par exemple (à adapter naturellement) :
SELECT banderoles, salle FROM matchs_banderoles, matchs_salle, WHERE matchs_banderoles.id_salle = matchs_salle.id_salle
Le while contrôle qu'une condition est vraie. Tant que celle-ci est vraie, le while s'exécute.
Actuellement, ta condition est "tant que $reponse->fetch() renvoi des données, je les affecte dans la variable $donnees". Rien ne t'empêche de compléter cette condition avec une autre :
[php]while ($donnees = $reponse->fetch() && $donnees1 = $reponse1->fetch())[/php]
L'inconvénient de cette méthode c'est qu'il te faut le même nombre d'enregistrements dans les deux tables (si j'en ai 4 dans l'une et 2 dans l'autre, cela n'affichera que les 2 premiers)
Si ce n'est pas ce que tu veux, tu peux aussi utiliser un OU ( || ), auquel cas tant qu'il y a des données dans l'un ou dans l'autre, tu entreras dans la boucle. Il faudra cependant tester tes variables $donnees et $donnees1 pour vérifier qu'elles sont bien renseignées avant de les utiliser.
L'autre inconvénient de cette méthode c'est qu'il n'y a aucun lien entre ta banderole et ta salle. Du coup l'affichage des banderoles et des salle peut être aléatoire, et ne pas présenter la banderole de la salle (s'il y a bien une banderole par salle). Dans ce cas, plutôt que de faire deux requêtes, tu peux n'en faire qu'une seule avec une jointure entre tes deux tables de façon à récupérer à chaque fois la banderole et la salle correspondante. Par exemple (à adapter naturellement) :
[sql]SELECT banderoles, salle FROM matchs_banderoles, matchs_salle, WHERE matchs_banderoles.id_salle = matchs_salle.id_salle[/sql]