un while dans un while ?

jpcomfx
Invité n'ayant pas de compte PHPfrance

21 oct. 2010, 09:27

Bonjour,

je viens de développer un site qui fonctionne très bien mais je me demande si le développement est correcte !

Peut-on faire une requête dans le while d'une autre requête ?
exemple : je liste les réalisations dans ma table realisation :

Code : Tout sélectionner

$requetRealisation =" SELECT * FROM realisation, rubrique $resulRealisation=mysql_query($requetRealisation)or die(mysql_error());
puis dans le while de cette requete,
je liste les photos (de ma table photo) de chaque réalisation :

Code : Tout sélectionner

while($realisation=mysql_fetch_array($resulRealisation)) { $requetNbImage ="SELECT * FROM photo WHERE RealisationID='".$realisation['IDRealisation']."'"; $resulNbImage=mysql_query($requetNbImage); $NbImage = mysql_num_rows($resulNbImage); }
merci pour vos réponses

ViPHP
xTG
ViPHP | 7331 Messages

21 oct. 2010, 09:38

Il serait bien plus optimisé de faire une jointure. ;)
SELECT realisation.*, rubrique.*, photo.* FROM rubrique, realisation INNER JOIN photo ON realisation.IDrealisation = photo.realisationID;
Le code est peut être pas bon, je suis loin d'être au point avec les jointures, mais le principe est là.
Avec une telle requête tu n'as qu'une seule boucle (et surtout une seule requête).