Webmaster Hub: Comment choisir plusieurs champs précis ? - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Comment choisir plusieurs champs précis ? Noter : -----

#1 L'utilisateur est hors-ligne   eric269 

  • Groupe : Membre
  • Messages : 3
  • Inscrit(e) : 18-juin 04

Posté 18 juin 2004 - 23:59

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
0

#2 L'utilisateur est hors-ligne   Anonymus 

  • Groupe : Hubmaster
  • Messages : 5 139
  • Inscrit(e) : 26-août 03
  • Genre:Homme
  • Localisation:Normandie.. (pas loin de Paris)
  • Société:L'atelier des Chefs

Posté 19 juin 2004 - 06:19

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 :
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
0

#3 L'utilisateur est hors-ligne   eric269 

  • Groupe : Membre
  • Messages : 3
  • Inscrit(e) : 18-juin 04

Posté 19 juin 2004 - 12:45

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.
0

#4 L'utilisateur est hors-ligne   eric269 

  • Groupe : Membre
  • Messages : 3
  • Inscrit(e) : 18-juin 04

Posté 22 juin 2004 - 00:25

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
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)