Php tableau et requete utilisateur
Résolu/Fermé
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
-
23 janv. 2009 à 20:59
awaba Messages postés 32 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 22 mars 2010 - 24 janv. 2009 à 20:46
awaba Messages postés 32 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 22 mars 2010 - 24 janv. 2009 à 20:46
A voir également:
- Php tableau et requete utilisateur
- Tableau croisé dynamique - Guide
- Tableau word - Guide
- Tableau ascii - Guide
- Trier tableau excel - Guide
- Easy php - Télécharger - Divers Web & Internet
14 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 janv. 2009 à 22:03
23 janv. 2009 à 22:03
déja tu peux simplifier en mettant en un seul array avec index chaine au lieu de numerique
$liste_villes_CP=array( "lons"=>"39000", "dole"=>"39100", "saint-claude"=>"39200", "Lavans"=>"39200" ...);
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
23 janv. 2009 à 23:07
23 janv. 2009 à 23:07
Bonjour Awaba,
Bonjour Alain_42,
Si tu es dans l'impossibilité de simplifier la liste comme le suggère Alain_42 (je suppose que le "choix" de deux listes séparées dépend d'un identifiant indépendant du code postal), tu peux essayer d'y accéder par l'instruction imbriquée suivante :
$liste_CP[$liste_villes_CP["ville"]]
Je n'ai pas testé (ça fait un bon moment que je ne touche plus à du PHP) mais en toute logique si on fait $liste_villes_CP["lons"] ça donne "1" et $liste_CP["1"] donne "39000".
Bonjour Alain_42,
Si tu es dans l'impossibilité de simplifier la liste comme le suggère Alain_42 (je suppose que le "choix" de deux listes séparées dépend d'un identifiant indépendant du code postal), tu peux essayer d'y accéder par l'instruction imbriquée suivante :
$liste_CP[$liste_villes_CP["ville"]]
Je n'ai pas testé (ça fait un bon moment que je ne touche plus à du PHP) mais en toute logique si on fait $liste_villes_CP["lons"] ça donne "1" et $liste_CP["1"] donne "39000".
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
24 janv. 2009 à 11:19
24 janv. 2009 à 11:19
Bonjour,
Merci pour vos réponses.
Je suis obligée de maintenir 2 listes.
J'ai fait une page php que j'ai mis sur mon serveur mais ça ne marche pas : voilà le code
<?php
$liste_CP=array(
"1"=>"39000",
"2"=>"39100",
"3"=>"39200"
...);
$CP_par_ville=array(
"dole"=>"2",
"lons"=>"1",
"saint-claude"=>"3",
Lavans=>"3"
...);
?>
<FORM method="POST" action=" que dois je mettre ???">
J'habite à <input type=text size=30 name=ville>
<input type=submit value=Envoyer>
<input type=hidden name=afficher value=ok>
</FORM>
<?php
echo $liste_CP[$liste_villes_CP["ville"]] ;
?>
Vraiment merci de m'éclairer car je n'ai pas le temps pour l'instant d'apprendre le code php mais j'ai besoin de ce petit bout de code.
Awaba
Merci pour vos réponses.
Je suis obligée de maintenir 2 listes.
J'ai fait une page php que j'ai mis sur mon serveur mais ça ne marche pas : voilà le code
<?php
$liste_CP=array(
"1"=>"39000",
"2"=>"39100",
"3"=>"39200"
...);
$CP_par_ville=array(
"dole"=>"2",
"lons"=>"1",
"saint-claude"=>"3",
Lavans=>"3"
...);
?>
<FORM method="POST" action=" que dois je mettre ???">
J'habite à <input type=text size=30 name=ville>
<input type=submit value=Envoyer>
<input type=hidden name=afficher value=ok>
</FORM>
<?php
echo $liste_CP[$liste_villes_CP["ville"]] ;
?>
Vraiment merci de m'éclairer car je n'ai pas le temps pour l'instant d'apprendre le code php mais j'ai besoin de ce petit bout de code.
Awaba
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
24 janv. 2009 à 11:37
24 janv. 2009 à 11:37
<FORM method="POST" action=" <?php echo $_SERVEUR['PHP_SELF']; ?>">
mais si l'utilisateur ne saisit pas exactement le nom de la ville ???
ton script ne marchera pas
il faudrait que tu proposes une liste déroulante des villes qui sont dans ton array
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
24 janv. 2009 à 12:15
24 janv. 2009 à 12:15
Ah oui, c'est vrai,merci pour la remarque mais comment dois-je faire une liste déroulante ?
Awaba
Awaba
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
24 janv. 2009 à 12:53
24 janv. 2009 à 12:53
C'est encore moi, j'ai trouvé un script en javascript pour réaliser une liste déroulante. Pour cela ça cevrait aller.
Mais par contre, à partir du choix que l'utilisateur fera dans la liste "des villes", je ne sais pas comment faire pour renvoyer à l'utilisateur la réponse?
Merci
Awaba
Mais par contre, à partir du choix que l'utilisateur fera dans la liste "des villes", je ne sais pas comment faire pour renvoyer à l'utilisateur la réponse?
Merci
Awaba
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
24 janv. 2009 à 13:29
24 janv. 2009 à 13:29
Pourquoi en Javascript ??
voilà une solution en php
voilà une solution en php
<?php //initialisation des array $liste_CP=array( "1"=>"39000", "2"=>"39100", "3"=>"39200" ); $CP_par_ville=array( "dole"=>"2", "lons"=>"1", "saint-claude"=>"3", "Lavans"=>"3" ); //le script s'appelle lui meme donc on va recuperer la ville qd on a envoye la page if(isset($_POST['ville'])){$ville=$_POST['ville'];}else{$ville="";} ?> <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> J'habite à: <br /> <select name="ville"> <?php foreach($CP_par_ville as $cle=>$value){ //pour creer la liste on parcours l'array des villes, $cle contient le nom de la ville, $value son num correspondant 1 , 2 ,3 $option= "<option value=\"".$value."\""; if($ville==$value){ $option.="selected"; } //ça c'est pour conserver la selection au reaffichage de la page $option.=">".$cle."</option>"; echo $option; } ?> </select><br /><br /> <input name="envoyer" type="submit" value="Envoyer"> </form> <?php if(isset($_POST['envoyer'])){ //on ne peux afficher ça que qd on a clique sur envoyer echo "Votre code postal: ".$liste_CP[$ville] ; } ?>
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
24 janv. 2009 à 13:49
24 janv. 2009 à 13:49
Merci Alain 42,
Je ne comprends pas, j'ai copié collé ton message et ça ne marche pas , je n'ai rien ...
Que puis-je faire ?
Awaba
Je ne comprends pas, j'ai copié collé ton message et ça ne marche pas , je n'ai rien ...
Que puis-je faire ?
Awaba
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
24 janv. 2009 à 14:22
24 janv. 2009 à 14:22
Je viens de trouver mon erreur, dans la liste des villes oubli d'un =>
J'ai encore un problème, lorsque je clique sur ok , ça ouvre une page de mon site !
ça ne me donne pas le CP ?
Avez-vous une idée ?
Merci...
Awaba
J'ai encore un problème, lorsque je clique sur ok , ça ouvre une page de mon site !
ça ne me donne pas le CP ?
Avez-vous une idée ?
Merci...
Awaba
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
24 janv. 2009 à 15:39
24 janv. 2009 à 15:39
parce que tu as intégré je suppose ce code dans ta page
action="$_SERVER['PHP_SELF']" veut dire appelle le script appelant
donc la page s'appelle elle même c'est normal
et attention à l'initialisation des array
action="$_SERVER['PHP_SELF']" veut dire appelle le script appelant
donc la page s'appelle elle même c'est normal
et attention à l'initialisation des array
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
24 janv. 2009 à 17:29
24 janv. 2009 à 17:29
Alain,
Excuse moi mais je suis plus que débutante , alors pourrais-tu m'expliquer ce que je dois mettre après action et que signifie la remarque "attention à l'initialisation des array ?"
Vraiment merci, je pense que je suis prêt du but !!!
J'ose encore demander un petit coup de pouce, ensuite j'aimerais que l'utilisateur soit redirigé sur une page différente en fonction du CP, est-ce possible ?
Déjà merci pour toutes les précieuses aides que tu m'a apporté.
Bon week end
Awaba
Excuse moi mais je suis plus que débutante , alors pourrais-tu m'expliquer ce que je dois mettre après action et que signifie la remarque "attention à l'initialisation des array ?"
Vraiment merci, je pense que je suis prêt du but !!!
J'ose encore demander un petit coup de pouce, ensuite j'aimerais que l'utilisateur soit redirigé sur une page différente en fonction du CP, est-ce possible ?
Déjà merci pour toutes les précieuses aides que tu m'a apporté.
Bon week end
Awaba
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
24 janv. 2009 à 17:33
24 janv. 2009 à 17:33
donnes moi le nom de la page et le code de cette page dans laquelle tu as intégré le bout de code que je t'ai fait
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
24 janv. 2009 à 17:46
24 janv. 2009 à 17:46
voilà la page :
https://www.eglisejura.com/?p=317
En fait, j'ai copié ton code dans une page php que j'ai chargé dans l'interface du site.
Je ne sais pas si je suis très claire.
https://www.eglisejura.com/?p=317
En fait, j'ai copié ton code dans une page php que j'ai chargé dans l'interface du site.
Je ne sais pas si je suis très claire.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
24 janv. 2009 à 18:05
24 janv. 2009 à 18:05
et si tu mets dans
ensuite pour ce que tu exposait plus haut
tu veux que selon la ville choisie on n'affiche pas le code postal mais qu'on ouvre une page différente en fonction du code postal ?
<form method="POST" action="?p=317">
ensuite pour ce que tu exposait plus haut
tu veux que selon la ville choisie on n'affiche pas le code postal mais qu'on ouvre une page différente en fonction du code postal ?
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
24 janv. 2009 à 18:33
24 janv. 2009 à 18:33
Super!!!!!!!!!!!! Vraiment merci....Seul je n'y serais pas arrivée ....
Juste un petit truc, parfois, lorsque je choisis une ville dans la liste déroulante, la réponse est bonne mais elle affiche ensuite une autre ville dans la liste ! J'aimerais que la ville choisie reste tant qu'un autre choix n'est fait !
Et j'aimerais enfin écrire la réponse mais que la réponse est un lien sur une autre page. Est-ce que je peux mettre mes liens dans le tableau array, si oui, quelle est la syntaxe ?
Je profite vraiment de tes compétences.... Merci pour tout !!!!
Awaba
Juste un petit truc, parfois, lorsque je choisis une ville dans la liste déroulante, la réponse est bonne mais elle affiche ensuite une autre ville dans la liste ! J'aimerais que la ville choisie reste tant qu'un autre choix n'est fait !
Et j'aimerais enfin écrire la réponse mais que la réponse est un lien sur une autre page. Est-ce que je peux mettre mes liens dans le tableau array, si oui, quelle est la syntaxe ?
Je profite vraiment de tes compétences.... Merci pour tout !!!!
Awaba
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
24 janv. 2009 à 18:47
24 janv. 2009 à 18:47
Oui tu peux mettre tes liens dans un array
exemple:
$aray_liens=array("39600"=>"http://xxxxxxxxx",
"39100"=>"http://....",
etc..
donc en fonction du code postal tu peux aussi afficher un lien
pour le pb de ville qui reste selectionnée c'est du au fait que plusieurs villes ont le même numéro dans l'array $CP_...
alors modifies ainsi:
exemple:
$aray_liens=array("39600"=>"http://xxxxxxxxx",
"39100"=>"http://....",
etc..
donc en fonction du code postal tu peux aussi afficher un lien
pour le pb de ville qui reste selectionnée c'est du au fait que plusieurs villes ont le même numéro dans l'array $CP_...
alors modifies ainsi:
<?php //initialisation des array $liste_CP=array( "1"=>"39000", "2"=>"39100", "3"=>"39200" ); $CP_par_ville=array( "dole"=>"2", "lons"=>"1", "saint-claude"=>"3", "Lavans"=>"3" ); //le script s'appelle lui meme donc on va recuperer la ville qd on a envoye la page if(isset($_POST['ville'])){$ville=$_POST['ville'];}else{$ville="";} ?> <form method="POST" action="?p=317"> J'habite à: <br /> <select name="ville"> <?php foreach($CP_par_ville as $cle=>$value){ //pour creer la liste on parcours l'array des villes, $cle contient le nom de la ville, $value son num correspondant 1 , 2 ,3 $option= "<option value=\"".$cle."\""; if($ville==$value){ $option.="selected"; } //ça c'est pour conserver la selection au reaffichage de la page $option.=">".$cle."</option>"; echo $option; } ?> </select><br /><br /> <input name="envoyer" type="submit" value="Envoyer"> </form> <?php if(isset($_POST['envoyer'])){ //on ne peux afficher ça que qd on a clique sur envoyer echo "Votre code postal: ".$liste_CP[$CP_par_ville[$ville]] ; } ?>
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
24 janv. 2009 à 19:18
24 janv. 2009 à 19:18
En fait, cette fois, après avoir fait envoyer , la liste revient sur la première ville de la liste.
Pour le tableau des liens,une fois que je l'ai rempli, je ne vois pas où je fais appelle au tableau.
Il n'y a qu'un mot en français pour dire : Merci, alors je pourrais le dire en wolof : Dierediev !
Awaba
Pour le tableau des liens,une fois que je l'ai rempli, je ne vois pas où je fais appelle au tableau.
Il n'y a qu'un mot en français pour dire : Merci, alors je pourrais le dire en wolof : Dierediev !
Awaba
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
24 janv. 2009 à 20:30
24 janv. 2009 à 20:30
excuses j'ai fait une petite erreur
mets comme ça:
pour le lien:
mets comme ça:
foreach($CP_par_ville as $cle=>$value){ //pour creer la liste on parcours l'array des villes, $cle contient le nom de la ville, $value son num correspondant 1 , 2 ,3 $option= "<option value=\"".$cle."\""; if($ville==$cle){ $option.="selected"; } //ça c'est pour conserver la selection au reaffichage de la page $option.=">".$cle."</option>\n"; echo $option; }
pour le lien:
if(isset($_POST['envoyer'])){ //on ne peux afficher ça que qd on a clique sur envoyer $code_postal=$liste_CP[$CP_par_ville[$ville]]; echo "Votre code postal: ".$code_postal."<br />"; //si ton array s'appelle $array_cp_lien echo "Pour continuer <a href=\"".$array_cp_lien[$code_postal]."\">cliquer içi</a>"; }
awaba
Messages postés
32
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
22 mars 2010
24 janv. 2009 à 20:46
24 janv. 2009 à 20:46
Eh bien, bravo à toi !!!
Tu m'as permis de réaliser ce que je cherchais. Je vais pouvoir continuer ...
Un grand MERCI.
Peut-être à une autre fois sur le forum.
Bonne soirée et bon dimanche.
Awaba
Tu m'as permis de réaliser ce que je cherchais. Je vais pouvoir continuer ...
Un grand MERCI.
Peut-être à une autre fois sur le forum.
Bonne soirée et bon dimanche.
Awaba