un while dans un while - PHP - Programmation
Marsh Posté le 04-11-2005 à 16:39:29
je dois donc mettre :
Code :
|
dans le second while?
et ou dois je fermer la connexion ?
merci de votre aide
Marsh Posté le 04-11-2005 à 16:43:32
J'me suis trompé.
Reprennons :
Tu fais ta première requête, ensuite tu enchaine sur ton premier while avec mysql_fetch_assoc().
Dans ce premier while tu fais une seconde requête qui est la suivante :
Code :
|
A partir de laquelle tu encahine sur ton second while avec cette nouvelle requête et dans ce second while tu fais l'affichage des dates.
Bon je suis pas sur de moi là, faut tester/adapter si besoin.
Marsh Posté le 04-11-2005 à 16:47:26
Cela dit ce genre de truc est faisable en une seule requête en rusant un peu.
Marsh Posté le 04-11-2005 à 16:53:50
Slt, si je devais corriger ton code je ferais comme suit, il me semble que ca devrais mieux fonctionné.
<?
$req_ville=mysql_query("SELECT * from ville ORDER BY classement" );
//$req_date=mysql_query("SELECT * from date,ville WHERE date.ville_id=ville.ID ORDER BY date" );
mysql_close($connexion);
while( $resultats = mysql_fetch_assoc($req_ville)){
//affichage de la ville
echo'<table width="600" align="center" border="1" cellpadding="0" cellspacing="0" bordercolor="#C4C3D0">';
echo'<tr height="30" bgcolor="red"><td width="400" > ';
echo $resultats ['nom'];
echo $resultats ['ID'];
echo'</td></tr>';
$req_date=mysql_query("SELECT * from date,ville WHERE date.ville_id=$resultats['ID'] ORDER BY date" );
//affichage des dates
while( $resultats_date = mysql_fetch_assoc($req_date)){
echo '<tr><td>'.$resultats_date ['date'];
echo '<br>'.$resultats_date ['ville_id'];
echo'</td></tr>';
}
//
echo'</td></tr></table><br><br>';
}
?>
Marsh Posté le 04-11-2005 à 16:55:44
sielfried a écrit : Cela dit ce genre de truc est faisable en une seule requête en rusant un peu. |
Vas-y ruse, ca m'intéresse!
DEns91 a écrit : Slt, si je devais corriger ton code je ferais comme suit, il me semble que ca devrais mieux fonctionné. |
J'avais prévennu que j'étais pas sur de moi.
Marsh Posté le 04-11-2005 à 16:55:46
j'ai fais ceci :
Code :
|
mais j'ai une erreur mysql_fetch_array(): supplied argument is not a valid MySQL sur le deuxieme while
d'ou cela peut venir ?
merci encore de votre aide
Marsh Posté le 04-11-2005 à 16:57:27
Un espace avant ORDER dans la seconde requete peut etre?
Et quand tu à une erreur de ce genre, pense à faire un echo mysql_error(); juste après ta requête.
Marsh Posté le 04-11-2005 à 16:58:22
dwogsi a écrit : Vas-y ruse, ca m'intéresse! |
Ben tu fais une seule requete histoire d'avoir un truc comme ça :
ville1 date1
ville1 date2
ville1 date3
ville2 date4
ville3 date5
ville3 date6
Et tu fermes/crées un nouveau tableau dès que $row['ville'] change.
Marsh Posté le 05-11-2005 à 03:39:55
et bien un group by ville pour regrouper par ville comme ca :
sielfried a écrit : Ben tu fais une seule requete histoire d'avoir un truc comme ça : |
non ? je me trompe peut etre ...
Marsh Posté le 05-11-2005 à 08:23:20
Euh non, là ça va sortir que la première date de chaque ville ou un truc du genre.
Suffit de faire order by ville.
Marsh Posté le 05-11-2005 à 16:00:25
oulaaaa, je me suis trompé alors ...
Marsh Posté le 04-11-2005 à 16:33:06
bonjour,
voila j'ai differents spectacles dans differentes villes. je voudrais faire un tableau par ville, et dans chaque tableau on a toutes les dates de la ville
mais le soucis, C'est que toutes mes dates s'affiche dans la premiere ville
comment faire?(ma requete date ne doit pas etre bonne)
merci de votre aide