rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[php] Données mysql vers javascript

Posté par Mouams, le jeudi 12 juillet 2007 à 10:15:12
Voila mon problème :

j'ai un premier champ de saisie : "Numéro"
et un textarea "Adresse".

Je voudrais que lorsque l'utilisateur rentre le numéro, lorsqu'il "dé-focus", l'adresse soit automatiquement rentrée dans le champ. A savoir que le numéro et l'adresse sont dans une même base de données.

Donc ce que je voudrais faire, c'est récupérer l'adresse en fonction du numéro de pochette (ca ok c'est pas dur ... un petit SELECT et c'est bon). Et directement l'afficher dans le textarea "Adresse", donc à mes yeux, ce serait lors d'un onBLur.

Mais le problème c'est que je ne vois pas comment faire. Comme ceci ?
<input type="text" onblur=" /*récupération de l'adresse*/;/*remplissage du textarea*/"> 


Sauf que la récupération de l'adresse doit se faire en php ... et mettre du php dans un onblur, (je suis débutant je précise) je ne sais pas comment faire ...
Configuration: Windows XP
Firefox 2.0.0.4
Répondre à Mouams  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
coucou_c_julien, le jeudi 12 juillet 2007 à 10:19:51
on appelle ca de l'ajax, ou du xmlrpc...

comment on met ca en place? aucune idée!

mais je fonctionne reside dans le fait que le javascript va executer une fonction php qui se trouve sur le serveur, ensuite le php renvoie le resultat au javascript, et suivant ton traitement, tu peux mettre à jour ta page client sans la rafraichir!

Mainteant je laisse la place au autre pour savoir comment cela ce met en place au niveau du serveur!
Répondre à coucou_c_julien

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Reivax962, le jeudi 12 juillet 2007 à 12:06:06
Bonjour,

Effectivement, l'Ajax me semble le plus adapté pour faire ce genre de chose. En fait ce qui se cache sous le nom d'Ajax, c'est tout simplement du JavaScript qui fait appel à un script externe.

J'ai sous la main un exemple qui fait à peu près ce que tu veux :
http://www.xul.fr/ajax-get-xml.html

Plutôt que de longues explications, je t'enjoins à aller regarder cette page et son code source.
Une fois que ce sera fait, tu pourras poser des questions plus précises !

Bon, je donne quand même une petite explication : dans la création de l'objet xmlhttprequest, il y a ceci :
		if (window.XMLHttpRequest)
		{
 			req = new XMLHttpRequest();
			if (req.overrideMimeType) 
			{
				req.overrideMimeType('text/xml');
			}
		} 
		else if (window.ActiveXObject) 
		{
			try
			{
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e)
			{
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
	        }

Pourquoi tout ça pour instancier un pauvre petit objet ? Tout simplement parce que Internet Explorer doit passer par un ActiveX (Msxml2.XMLHTTP ou Microsoft.XMLHTTP), alors que Firefox implémente la méthode "normale", à savoir l'objet javascript window.XmlHttpRequest.
Donc tout ça peut être simplifié, mais on perd la compatibilité avec FF ou IE.

Ensuite, c'est dans cette ligne-là
		req.open("GET", "ajax-get-xml.xml", true);
que tu mets l'URL de ton script. (par exemple, dans ton cas, je pense que tu pourrais remplacer cette ligne par :

var adresse = "getAdresseFromNumero.php?num="+document.getElemen­tById('Numero').Value;
req.open("GET", adresse, true);

Ensuite, il faut créer sur ton serveur un fichier getAdresseFromNumero.php qui prenne un argument de type GET (que tu récupères sous la forme $_GET['num'] ), ce sera le numéro à utiliser pour ta requête.
Ce fichier php doit renvoyer du xml, donc avant toute chose, il faudra placer ceci :
header('Content-type: text/xml');

Ensuite, placer la balise xml racine, que tu peux appeler comme tu veux (par exemple, <root>, ou <adresse> : mais il faut adapter le code javascript que j'ai fourni, c'est pas compliqué y a juste un mot à changer), l'adresse, et enfin fermer la balise.
Le code doit donc ressembler à ceci :
echo "<root>".$adresse."</root>";­
Avec $adresse le résultat de ta requête SQL, bien sûr.

Voilà ! Avec ça, ça devrait aller :)

Pour le reste, n'hésite pas à poser les questions que tu veux !

Xavier
Répondre à Reivax962

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Mouams, le jeudi 12 juillet 2007 à 14:08:07
La réponse parfaite je crois :-D

Bon finalement, ce point du boulot je l'ai un peu zappé parce que le boss a oublié ... mais quand il y repensera, je reviendrai par ici :-D

Merci à vous deux.
Répondre à Mouams
Logiciels pertinents trouvés dans les téléchargements
Télécharger Firstpage 2006Firstpage - First Page 2006 est un éditeur html gratuit et excellent. Il permet de travailler un code HTML en couleur, ainsi que de...Catégorie: Editeurs HTML
Licence: Freeware/gratuit
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger easyPHP 2.0b1easyPHP - EasyPHP est un environnement de travail packagé comprenant le serveur web Apache, le système de gestion de bases de données...Catégorie: Serveurs
Licence: Open Source
Télécharger WINFOKEYS 2.0.0.0WINFOKEYS - Décodage de clé d'installation WINFOKEYS affiche différents types d'informations, comme le nom de l'ordinateur, le nom de...Catégorie: Base de registre
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [php] Données mysql vers javascript »