Aller au contenu

Comment choisir plusieurs champs précis ?


Sujets conseillés

Posté

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

Posté

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

Posté

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.

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...