Jump to content
Sign in to follow this  
eric269

Comment choisir plusieurs champs précis ?

Rate this topic

Recommended Posts

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

merci de votre aide

Share this post


Link to post
Share on other sites

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 :".$key
echo"<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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...