Mettre à jour une page sans la recharger

Résolu/Fermé
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 - 21 juil. 2008 à 22:51
petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009 - 23 juil. 2008 à 19:15
Bonjour,
Alors voilà, je cherche sur google mais sans trouver.

J'ai besoin de créer un menu à partir d'une base de données (facile ça).
Les objets de mon menu ont des attributs dans une autre base de données.

Alors voilà ce que je veux faire, quand on sélectionne un objet dans le menu (option), je veux afficher des checkbox avec les attributs (un checkbox par attribut) pour que l'utilisateur puisse les cocher.

Cependant, j'aimerais que cela se fasse sans recharger la page. Ce serait en effet très simple si je rechargeais la page complète à chaque fois mais c'est ce que je voudrais éviter pour la simple raison que j'ai des input files et que ces inputs files ne peuvent être rempli par l'attribut "value" (cause de sécurité) et que donc, l'utilisateur doit à chaque fois re-sélectionner les fichiers (si le formulaire est mis à jour). Donc je veux que ce soit fait SANS mise à jour de la page.

Quelqu'un sait comment faire cela ou aurait un site pour m'orienter car je n'ai pas trouvé grand chose de très concluant chez mon ami Google ;)

4 réponses

vick58 Messages postés 28 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 22 juillet 2008
22 juil. 2008 à 03:43
Je te donne une solution, il faudrait utiliser de l'AJAX, il sert pour traiter des donné par exemple avec base de donnée sans recharger la page.
1
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 19
22 juil. 2008 à 14:38
Ouai AJAX je savais que c'était ça mais j'ai cherché sur Internet et trouvé aucun site qui donnait un exemple pile pour cela. Sans recharger la page en fait.

Une requête AJAX peut automatiquement le faire sans recharger donc? C'est ce que je pensais mais aurais-tu des exemples de comment fonctionne AJAX ou des bons sites que je pourrais consulter ou même tout simplement des idées de mots clés à mettre sur google pour trouver rapidement? Car j'ai beaucoup cherché hier et j'ai pas trouvé ou plutôt j'en suis pas certaine.

Je vais utiliser AJAX c'est certain (car je pensais utiliser la propriété "onchange" de mon menu et donc onchange appellerait une requête MYSQL et donc c'est là que AJAX vient puisque je ne veux pas rafraichir). Ça je pense pouvoir trouver en cherchant bien.

Mais aurais-tu une idée de stratégie pour réécrire le texte. Quel "objet" devrais-je utiliser? Je coince sur cette logique. Vers quel objet je serais capable de rediriger le contenu d'une requête MYSQL? (div, table, etc) --> sachant que ce que je veux c'est avoir des checkbox button donc ça ne peut pas être un input ou textarea.
1
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 19
22 juil. 2008 à 20:54
AHHHHHHHHHHHHHHHHHHHHHHHH... J'ai cherché sur Internet de la doc en rapport avec les requêtes MYSQL effectuée avec AJAX mais tout ce que j'ai trouvé faisait référence, à un moment ou à un autre, à PHP. Et je ne crois pas qu'il soit possible, avec php, de faire ce que je veux faire SANS rafraichir la page (car pour qu'une variable php soit rafraichie et affichée, il faut nécessairement rafraichir la page complète non?).

Si un pro du AJAX passe dans le coin, help. :P
0
petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009 77
22 juil. 2008 à 21:02
Si un pro du AJAX passe dans le coin, help.

On m'a appelé ? xD

Nan, je suis pas un pro mais je m'y connais assez bien en AJAX, donc AJAX + PHP + MySQL c'est tout à fait possible sans rechargement de page ! (c'est même fait pour ça :p)

Un petit schéma (improvisé ^^)

------          ---------
|Page|  =AJAX=> |Serveur|
------          ---------
  ^                  |
  |                  |
  -------------------


Via la commande AJAX, la page demande au serveur d'interpréter une page PHP, comme si elle était affichée sur le navigateur, mais au lieu d'être affichée, le contenu généré par PHP est envoyé comme réponse à la requête AJAX.

Voila, j'espère avoir été clair ;)
-2
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 19 > petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009
22 juil. 2008 à 21:10
Ah c'est déjà plus clair expliqué comme ça. Je comprenais pas tout à fait le fonctionnement de AJAX. Merci pour ce petit dessin. Mais ne part pas petit pro de AJAX, faut que tu m'aides parce que j'ai beau adorer Java, j'aime pas trop Javascript. Disons que ça me branche moins XD

Dans quoi puis-je rediriger le contenu que mon AJAX va récupérer de la requête SQL? Quelle sont les possibilités. Car moi je voudrais que les attributs du produit sélectionnés soient placé avec des checkbox (si le produit a 5 attributs, 5 checkbox mais s'il n'en a que 4, seulement 4checkbox).

Je suppose que avec onchange sur mon objet "option", je peux lui dire d'appeler la requête qui chargera le nouveau contenu. Donc sans doute avec la propriété "value" de "option" pour savoir quel objet c'était. Mais comment je récupère ce qui m'est retourné et l'affiche dans un autre objet (et quel objet puis-je utiliser.. un div? tableau?)
-1
petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009 77 > X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010
22 juil. 2008 à 21:22
Va voir par là, c'est assez bien expliqué...

https://www.toutjavascript.com/savoir/xmlhttprequest.php3

Sinon, pourquoi ne pas mettre ça dans un DIV que tu modifierait dynamiquement avec innerHTML ?
-1
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 19 > petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009
22 juil. 2008 à 21:33
OMG, il utilise juste la balise BOLD regarde ça: http://www.tizag.com/javascriptT/javascript-innerHTML.php

AHAHA C'est trop fort :P
Merci pour le site, j'avais cherché mais jamais aussi précis (et en français en plus... pas que je comprend pas l'anglais, mais c'est toujours plus facile dans sa propre langue ^^).

Je vais prendre le temps d'analyser tout ça et s'il me manque encore des trucs que je n'arrive pas à trouver, je repasserais. Mais je vais essayé de me débrouiller quand même. N'hésite pas à continuer à venir dans le forum petit pro du AJAX comme ça si je repose une question stupide, tu pourras y répondre.

Merci bcp en tout cas. :P
-1
petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009 77
22 juil. 2008 à 21:39
Mais de rien ;)

N'hésite surtout pas si tu as des questions (je reconnais que la page que tu as trouvé sur innerHTML n'est pas extra... je pourrait mieux te l'expliquer si tu veux :D )

;)
0
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 19
22 juil. 2008 à 22:17
Si tu me le programmes, ce sera encore mieux LOL.

Ben oui si tu as des meilleurs explications, c'est toujours mieux car tu as l'air de savoir de quoi tu parles ^^

Et si tu avais une idée qui pourrait me servir avec mes zolis checkbox, ce serait bien car je dois dire que là c'est pas la technique qui manque mais la logique. J'arrive pas, dans ma tête, à choisir comment je vais m'y prendre. XD
-1
petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009 77 > X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010
23 juil. 2008 à 13:16
C'est vrai que je m'y connais, c'est mon métier ^^

Je te programmes tout ça et je poste le code une fois terminé ;)
-1
petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009 77 > petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009
23 juil. 2008 à 17:52
Bon, je suis désolé, mais je ne peux pas te faire ton code pour le moment, je n'ai pas vraiment le temps et je part très bientôt en vacances...

Dès mon retour promis je te le fais ;)
-1
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 19 > petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009
23 juil. 2008 à 18:01
LOL c'était pour rire. Je veux pas que tu le fasses mdr. Je suis pas du genre à me faire mâcher le travail ^^

Je vais faire des recherches avec ce que tu as suggéré et si jamais je n'y arrives pas, je viendrais te redemander de l'aide. Si tu as le temps de me donner deux-trois exemples, ça pourra toujours servir. Mais j'ai l'habitude de chercher et de me débrouiller. J'évite de demander aux autres à part quand je ne trouve vraiment rien que me fasse. :P Tu m'as déjà bien aidé en tout cas. Merci ^^
-1
petinouv Messages postés 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009 77 > X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010
23 juil. 2008 à 19:15
Comme tu veux ;)

N'hésite surtout pas en cas de besoin !
-1