Donnees mysql dans selectbox en relation avec une input box

Donnees mysql dans selectbox en relation avec une input box - PHP - Programmation

Marsh Posté le 23-08-2004 à 11:39:25    

salut tout le monde...
 
j aimerais creer une select box contenant des valeurs definies par une requete mysql.bon ca je sais faire normalement.
 
Le probleme est que j aimerais mettre en relation cette select box avec une input box.Cad que je voudrais qu un choix dans la select box entraine l'affichage d une valeur dans la input box trouvee aussi ds la base de donnees..
 
bon je sais pas si c est tres clair....mais est ce possible de faire ca en php...???

Reply

Marsh Posté le 23-08-2004 à 11:39:25   

Reply

Marsh Posté le 23-08-2004 à 11:53:34    

la mise à jour auto de ta input.box en fontion de la valeur de ta select.box, je crois pas que c'est possible en PHP, il faut du JS pour ça...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 23-08-2004 à 11:57:22    

oui je me pense aussi que ce n est pas possible en php...
mais le pb c est que j aimerais que mes champs soient en relation avec un bdd.
 
par ex j aimerais qu'en choisissant une personne dans la select box , sa fonction s affiche automatiquement dans la input box

Reply

Marsh Posté le 23-08-2004 à 12:11:19    

si tu appelle une fonction JS avec un truc du genre "OnChange" dans ta selectbox, ta fonction JS pourra peut etre appeler une page contenant ton PHP avec ta requete SQL... mais c'est du bricolage :(


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 23-08-2004 à 12:13:23    

mais c est pas possible...il doit surement y avoir un truc plus simple...
j imagine que pas mal de sites doivent utiliser le meme principe

Reply

Marsh Posté le 23-08-2004 à 12:15:33    

je ne peux pas mettre une liste finie d elements dans ma select box...elle change tout le temps...je dois forcement faire appel a une requete sql.
et ensuite je veux juste que le champs input affiche un valeur associee.mais lui non plus ne peux pas contenir une liste finie d elements.

Reply

Marsh Posté le 23-08-2004 à 12:15:55    

c est un pb qui a deja du se presenter...en programmation php...

Reply

Marsh Posté le 23-08-2004 à 12:19:41    

quand la valeur change, tu rapelle ta page elle meme, mais en envoyant la valeur en paramètres,  
en réaffichant la page tu fait la requete qui affiche la fonction en par rapport au nom de la personne sélectionné


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 23-08-2004 à 12:24:49    

mais en fait sur ma page il va y avoir au moins 12 champs qui marchent comme ca je ne peux pas reafficher la page 12 fois...

Reply

Marsh Posté le 23-08-2004 à 12:29:27    

ben je sais po, j'ai pas dis non plus que j'avais la réponse, j'ai essayé ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 23-08-2004 à 12:29:27   

Reply

Marsh Posté le 23-08-2004 à 12:30:51    

La seule méthode de le faire en PHP c'est de recharger la page, comme sur ce site par exemple :
 
http://www.zeperfs.com/perfs.php?Action=Fiche
 
Sinon tu peux aussi construire un array en JS et faire filtrer ca côté client avec un script appelé sur un onchange mais pour peu que tu ais beaucoup de valeurs c'est une solution qui va vite trouver ses limites, sans parler de la compatibilité ...

Reply

Marsh Posté le 23-08-2004 à 12:34:08    

ahh c est pas mal en fait ...et comment je dis au prog de faire une action a chaque fois que je selectionne quelquechose  dans ma select box???

Reply

Marsh Posté le 23-08-2004 à 12:34:12    

ben j'avais raison, rechargement de la page... mais il dis que ça lui convient pas ---> 12 champs donc trop de rechargements !!!


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 23-08-2004 à 12:39:00    

non mais si c est la seule solution ... et que en js on a forcement recours a des tableau finis d elements c pas bon pour moi...
et en plus dans le lien de Core 666 on ne voit meme pas le rechargement de la page.
mais je ne savais pas qu en php on pouvait faire ca...
cad indiquer une action a faire juste apres selection dans une select box

Reply

Marsh Posté le 23-08-2004 à 12:49:09    

pourquoi ne pas générer un nombre d'<option> dans le sélect qui dépend de la taille de la sortie de la requête (un for sur la requête qui crée un <option> à chaque itération et c'est fini)?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-08-2004 à 12:53:43    

non mais a ce niveau la c est bon y a pas de pb...je sais comment faire pour que mon select contienne les infos de ma requete sql.
 
ce que je ne sais pas faire c est indiquer une action a faire qd l'utilisateur fait un choix dans la select box

Reply

Marsh Posté le 23-08-2004 à 12:58:04    

je te l'ai déjà expliqué 15 fois sur l'autre thread:
 

Code :
  1. <select id="truc" name="machin" onchange="OnChange(this.value)>
  2.     <object>...</object>
  3.     ...
  4.     <object>...</object>
  5. </select>


et tu crées une fonction JavaScript OnChange qui fait les actions de modification (l'évènement onchange des select est lancé à chaque modification dans la sélection du select)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-08-2004 à 13:39:25    

oui mais est ce que dans la fonction onchange je peux faire appel a une requete sql???
 
et qqun m a parle de problemes de compatibilite entre certains  explorateur et le javascript...??
 
puis je faire ca uniquement en php...meme si il y a rechargement de la page???

Reply

Marsh Posté le 23-08-2004 à 14:03:11    

tu ne peux pas faire appel à une base dans la fonction onchange, c'est du local.
 
tu peux le faire en php... peut être (je sais pas quelle action tu vas mettre dans le onchange mais bon), ca va vite gaver tes utilisateurs je pense -> solution finale
 
certains navigateurs n'utilisent pas un JS standard (MSIE), pas mal d'utilisateurs désactivent totalement le JS -> solution finale
 
Solution finale: tu mets les renseignements que tu voulais mettre dans l'input text... dans le select (inclus dans les <option>, tu élargis le champ et c'est fini)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-08-2004 à 14:22:49    

oui c pas mal comme solution....
donc toi masklinn tu me deconseilles d utiliser du java script...

Reply

Marsh Posté le 23-08-2004 à 14:38:07    

pas spécialement si ce n'est pas une fonction essentielle, il faut simplement éviter que le JS réduise les possibilités du site (exemple: les liens en JS, le resize de navigateurs et autres trucs du style sont a proscrire), après tu fais comme tu le sens


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed