eric269 Posté 18 Juin 2004 Posté 18 Juin 2004 le but du jeu, il s'agit de carte géographique où plusieurs zones appellent chaque fois un champs d'après l'id, ex : marseille id 1, lyon id 22, etc... des id j'en ai 189 et c'est pas fini. Donc pour pas faire 189 requètes, ya bien un moyen de faire une requète auto. Je m'explique : // 5 <---- ici c'est l'id du champs de la table$requete5 = "select * from realisation where id=5"; // <---- ici il faudrait faire dans le genre ...where id='$id'$envoi5 = mysql_query($requete5);while($realisation5 = mysql_fetch_array($envoi5)){$ville = $realisation5['ville'];$societe = $realisation5['societe'];$sign_contrat = $realisation5['date_sign_contrat'];$date_debut = $realisation5['date_debut'];$lieu5 = "Ville : $ville<br>A.O. : $ao<br>Adjudiciaire : $societe<br>Signature du Contrat : $sign_contrat<br>Démarrage : $date_debut}echo $lieu5; // <---- ici pour afficher le lieu n°5echo $lieu22; // <---- ici enfin faire dans le genre 'echo $lieu$id=22' merci de votre aide
Anonymus Posté 19 Juin 2004 Posté 19 Juin 2004 Tu devrais mettre l'id en index de ton tableau. C'est à dire : Lorsque tu fais la requète $ville = $realisation5['ville']; tu dois faire $ville['5'] = $realisation['ville']; Lorsque tu chercheras dans le tableau, tu auras le nom de toutes les villes dans le tableau $ville, auquel tu auras accès ainsi : foreach($ville as $key => $value){echo "<br>numero de ville :".$keyecho"<br>nom de ville :".$value;} Pour le code que tu donnes, ca donnerait à peu près : $requete = "select * from realisation "; // $resultat = mysql_query($requete);while($ligne = mysql_fetch_array($resultat)){$ville[$line['id']] = $ligne['ville'];$societe[$line['id']] = $ligne['societe'];$sign_contrat[$line['id']] = $ligne['date_sign_contrat'];$date_debut[$line['id']] = $ligne['date_debut'];$lieu[$line['id']] = "Ville : ".$ville[$line['id']]."<br>A.O. : ".$ao[$line['id']]."<br>Adjudiciaire : ".$societe[$line['id']]."<br>Signature du Contrat : $sign_contrat".[$line['id']]."<br>Démarrage : $date_debut".[$line['id']]."}// On dépile le tableau :foreach($ville as $key => $value){echo"<br>nom de ville : ".$value;echo"<br>société : ".$societe;echo"<br>signature du contrat : ".$sign_contrat;echo"<br>date début : ".$date_debut;// ...} Voilà, Anonymus
eric269 Posté 19 Juin 2004 Auteur Posté 19 Juin 2004 Super merci de m'aider mais comme chui débutant j'ai pas réussi à faire tourner ton code, il me dit : while($ligne = mysql_fetch_array($resultat)) // ----> not a valid MySQL result resource et foreach($ville as $key => $value) // ----> argument invalide Donc je repose bien le problème pour pas s'engager inutillement sur un wrong way : $requete = "select * from realisation where id=5";$envoi = mysql_query($requete);while($realisation = mysql_fetch_array($envoi)) {$ville = $realisation['ville'];$societe = $realisation['societe'];$sign_contrat = $realisation['date_sign_contrat'];$date_debut = $realisation['date_debut'];$lieu = "Ville : $ville<br>Adjudiciaire : $societe<br>Signature du Contrat : $sign_contrat<br>Démarrage : $date_debut }echo $lieu ce qui me donne : Ville : Lyon Adjudiciaire : Snoop Signature du Contrat : 02 mai 2004 Démarrage : 1 juin 2004 En réalité il ya bcoup plus de spécifications (yen a 22) et des $lieu yen a 200 (car 200 id et c'est pas fini). Donc pour l'instant le code à partir de $requete jusqu'à $lieu, je le tape 200 fois dans ma page, ce qui plait pas à mister sql. Je fais apparaitre tout ces $lieu avec un overlib sur des zones réactives (area shape). Donc quelle serait la soluce pour appeler des echo $lieu[1,4,7,...] sans chaque fois retapé toute la requete. J'ai posté ce msg sur bcoup de forum mais personne n'a trouvé. Je continue de chercher.
eric269 Posté 21 Juin 2004 Auteur Posté 21 Juin 2004 OK c'est bon on a trouvé : $lieu = Array(); $requete = "select * from realisation"; $envoi = mysql_query($requete); while($realisation = mysql_fetch_array($envoi)) { $ville = $realisation['ville']; $societe = $realisation['societe']; $sign_contrat = $realisation['date_sign_contrat']; $date_debut = $realisation['date_debut']; $id = $realisation['id']; $lieu[$id] = "Ville : $ville<br>Adjudiciaire : $societe<br>Signature du Contrat : $sign_contrat<br>Démarrage : $date_debut"; } echo lieu[numéro de l'id] Grand merci à m@ de http://www.developpez.net
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant