Version complète: sur le forum Webmaster Hub : Comment choisir plusieurs champs précis ?
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
eric269
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 :

CODE
// 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°5
echo $lieu22; // <---- ici enfin faire dans le genre 'echo $lieu$id=22'

merci de votre aide
Anonymus
Tu devrais mettre l'id en index de ton tableau. C'est à dire :

Lorsque tu fais la requète
CITATION
$ville = $realisation5['ville'];

tu dois faire
CITATION
$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 :
CODE
foreach($ville as $key => $value){
echo "<br>numero de ville :".$key
echo"<br>nom de ville :".$value;
}


Pour le code que tu donnes, ca donnerait à peu près :
CODE
$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
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 :
CODE
$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
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
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.