[php] Données mysql vers javascript
Fermé
Mouams
Messages postés
2
Date d'inscription
jeudi 12 juillet 2007
Statut
Membre
Dernière intervention
12 juillet 2007
-
12 juil. 2007 à 10:15
Mouams Messages postés 2 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 12 juillet 2007 - 12 juil. 2007 à 14:08
Mouams Messages postés 2 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 12 juillet 2007 - 12 juil. 2007 à 14:08
A voir également:
- [php] Données mysql vers javascript
- Telecharger javascript - Télécharger - Langages
- Easy php - Télécharger - Divers Web & Internet
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Mysql community server - Télécharger - Bases de données
- Reinstaller windows sans perte de données - Guide
3 réponses
Utilisateur anonyme
12 juil. 2007 à 10:19
12 juil. 2007 à 10:19
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!
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!
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
12 juil. 2007 à 12:06
12 juil. 2007 à 12: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 :
https://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 :
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à
var adresse = "getAdresseFromNumero.php?num="+document.getElementById('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
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 :
https://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.getElementById('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
Mouams
Messages postés
2
Date d'inscription
jeudi 12 juillet 2007
Statut
Membre
Dernière intervention
12 juillet 2007
12 juil. 2007 à 14:08
12 juil. 2007 à 14:08
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.
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.