ns_deux
Messages postés10Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention29 août 2006
-
28 août 2006 à 16:29
kfarmel24
Messages postés2Date d'inscriptionlundi 27 juillet 2009StatutMembreDernière intervention 3 janvier 2012
-
3 sept. 2010 à 17:46
Bonjour,
Je cherche à faire un menu deroulant dynamique qui va interroger ma
base mysql en temps réel. J'aimerais que, lorsque je cliques sur mon
menu, il va recupérer les donnees de ma base et ce sans rechargement de
ma page php.
Je sais qu'il existe de trucs avec Ajax mais je n'arrive pas à le faire fonctionner.
ns_deux
Messages postés10Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention29 août 20061 29 août 2006 à 16:51
OK donc j'ai fait ce que tu m'as dit. J'ai allégé mon code afin de n'avoir en ligne que ce qui deconne et ca donne cà :
----------------------------------base_saisie_materiel.php----------------------------
<script type="text/javascript">
function getElement(id)
{
var Elem;
function getXhr()
{
if (window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) // if IE
{
var ieversions = ['Msxml2.XMLHTTP',
'Microsoft.XMLHTTP',
'Msxml2.XMLHTTP.5.0',
'Msxml2.XMLHTTP.4.0',
'Msxml2.XMLHTTP.3.0'
];
?>
-------------------------------------------------------------------------------------
Alors en ce qui concerne les resultat :
1- ma requete requete_oam.php fonctionne bien car elle me donne le resultat de ma requete.
2- Lorsque je clique sur le menu deroulant de ma page base_saisie_materiel.php, j'ai bien mon resultat mais il s'efface aussitot des que je retire le clic de souris
3- Avec alert('Status: ' + xhr.status ); j'ai la meme chose avec le code erreur 200.
Voilà pour les resultat.
Qu'en penses tu?
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 28 août 2006 à 21:42
Salut!
As-tu lu des tutos AJAX? (j'aime ceux de developpez.com)
Je te propose de commencer par ça. Ensuite, sur www.javascriptfr.com, y'a des exemples de menus déroulants dynamiques... Tu mixes les deux et c'est ok, :)
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 29 août 2006 à 12:28
Salut!
Je ne peux tester tout ton code pour toi!
Plusieurs pistes pour voir où se situe l'erreur:
- si tu affiches requete_oam.php, affiche-t-elle ce que tu veux?
- avec des alert en JS, vérifie que tout se passe bien:
* l'objet xhr est-il bien créé?
Entre ces deux instruction:
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState 4 && xhr.status 200){
Ajoute:
alert('Status: ' + xhr.status );
Ca te diras si y'a un retour, si t'as une 404, ou bien...
Si tu as un code erreur 200, le pb vient peut être d l'affichage!
Regarde un peu d'où ca vient et redis nous, on trouvera! :)
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Vous n’avez pas trouvé la réponse que vous recherchez ?
ns_deux
Messages postés10Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention29 août 20061 29 août 2006 à 17:14
J'ajoute meme que si je fais alert(eval(xhr.responseText)); j'ai bien le resultat obtenu dans le pop up
Je vois pas pourquoi il s'affiche pas ce resultat :-(
Merci encore
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 29 août 2006 à 17:42
Salut!
Pourquoi faire ça sur le onClick, je comprends pas trop...
Je vois pas l'item: modele
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
ns_deux
Messages postés10Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention29 août 20061 29 août 2006 à 19:03
En fait je veux, lorsqu'on clic sur mon menu deroulant, qu'on ait le resultat de ma base en reel sans avoir besoin de
recharger ma page.
quel item modele?
Alors j'ai trouve un truc, j'avais un soucis sur ma requete dans mon select. maintenant c bon par contre c comme si je n'avais pas
le retour de mon resultat. Je m'explique. lorsque je clic sur mon menu deroulant j'ai les resultats de ma requete à l'instant de chargement
de la page. Par contre suite à une modification de la base, je ne retrouve pas mes resultat sans recharger ma page lorsque je clic sur le select alors qu'avec
eval(xhr.responseText);
alert('Status: ' + xhr.status );
j'ai bien tous les resultats dans le popup et 200 pour le statut
Comprend rien :-)
@++
ns_deux
Messages postés10Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention29 août 20061 29 août 2006 à 20:18
Ca fonctionne presque lol
J'ai changé mon evenement par un onChange
Alors quand ma page se charge, il va verifier ma base et me donne les resultats au moins du chargement de la page.
Si je change pas la valeur, je peux voir les valeurs existantes et je peux ajouter un nouvel element dans ma base via une autre page pour reprendre ensuite ma page initiale
et modifier la valeur. Du coup, il execute la fonction et modifie mon menu deroulant par les nouvelles valeurs.
Gros point faible il ne le fait qu'une fois par chargement de page pourquoi?
je pensais au cache au debut du coup j'ai ajouté cà
header("Cache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
header("Cache-control: private");
mais pareil. Ca marche qu'une fois par chargement de page
As tu une idée?
Merci @++
kfarmel24
Messages postés2Date d'inscriptionlundi 27 juillet 2009StatutMembreDernière intervention 3 janvier 2012 3 sept. 2010 à 17:46
slt c est bien mais j aimerais charger un select a partir d'un autre autre select les données d'une base de donnée en metant la condition sur le premier select c est a dire le where dans la requette sql
et j ai un probleme pour gerer les session lors de la connexion a la page d'accueil
mersi d'avance