Sql et javascript

darkaz Messages postés 3 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 4 décembre 2005 - 26 nov. 2005 à 19:00
cs_djagger Messages postés 536 Date d'inscription lundi 5 mai 2003 Statut Membre Dernière intervention 29 janvier 2009 - 30 nov. 2005 à 13:34
Je ne m'y connais pas du tout en javascript mais j'aurais besoin de faire quelque chose:



Prenons un formulaire tout bete qui prend dans un input text un nom, un
prénom et une ville et qui les insere dans une base de données.

Ce que je voudrais faire, c'est faire un menu qui déroulerait les noms
des inscrits dans la base de donnée (par une bete requete sql, jusque
la, pas de problème) et qui a chaque fois que l'on déroulera un nouveau
nom, afichera dans les champs "prénom" et "ville" les infos
correspondant au nom dans la base de données.



le script ressemble un peu a ca :



<?php



$connect=mysql_connect('localhost','root','') or die("Erreur de connexion au server");

mysql_select_db('test',$connect) or die("Erreur de connexion a la base");



$nom ='';

$prenom ='';

$ville ='';



//recupere les infos de la base

$qry = 'SELECT * FROM mytable';

$res=mysql_query($qry) or die ("Erreur requete");



echo'<form method="post" action="test.php">

Noms dans la base';

//affiche dans un menu déroulant les noms contenus dans la base

while ($row = mysql_fetch_array($res)){

echo '<select name="name"><option value='.$row['nom'].'>'.$row['nom'].'</option>'; }

echo '</select>';

echo '</form>
';



//recupere le nom selectionné

$name = $_POST['name'];



//selectionne les nom, prenoms et ville a partir du nom choisi

$qry = "SELECT * FROM mytable WHERE nom='$name'";

$res=mysql_query($qry) or die ("Erreur requete");

$row = mysql_fetch_array($res);



echo '<form method="post" action="page2.php">

Nom:


Prenom:


Ville:




</form>

';



?>



En gros, la, j'ai deux boutons submit: le 1er pour selectionner le nom, et le 2e pour envoyer le formulaire.

Ce que je voudrais faire, c'est supprimer le premier, et faire qu'a
chaque fois qu'on change de nom dans le menu déroulant, ca change les
infos dans les champs du formulaire en dessous.



Je suppose que ca doit etre possible en javascript, mais comme je n'y connais rien, j'aurais besoin d'un coup de pouce ^^

1 réponse

cs_djagger Messages postés 536 Date d'inscription lundi 5 mai 2003 Statut Membre Dernière intervention 29 janvier 2009 1
30 nov. 2005 à 13:34
Salut !

T'as 2 possibilités : soit tu charges tous les noms, prénoms et ville en javascript, et quand tu change ton menu déroulant, tu vas chercher dans des tableaux les valeurs correspondantes.
Soit, dès que tu changes le nom sélectionné dans le menu déroulant, tu recharges la page avec les informations ....
Après ca dépend de la taille de ta base !

La deuxième solution est plus simple, et vu ce que t'as déjà fait ce sera plus rapide ... juste un truc à changer :

//affiche dans un menu déroulant les noms contenus dans la base
while ($row = mysql_fetch_array($res)){
echo '<select name="name" onChange="this.form.submit()" ><option value ='.$row['nom'].'>'.$row['nom'].'</option>'; }
echo '</select>';

Normalement ca devrait êter bon .... a+++
0
Rejoignez-nous