Ajax
Résolu/Fermé
absurdsystem
Messages postés
117
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
28 août 2008
-
2 avril 2008 à 14:11
chantaussel Messages postés 137 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 9 juillet 2014 - 5 avril 2008 à 09:08
chantaussel Messages postés 137 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 9 juillet 2014 - 5 avril 2008 à 09:08
5 réponses
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
2 avril 2008 à 19:20
2 avril 2008 à 19:20
Que veux-tu dire par "un par un"?
- un s'affiche, petite pause, puis le suivant apparait?
- un s'affiche, puis nouveau clic sur un lien / bouton, et le suivant apparait?
- veux-tu que lorsque le suivant s'affiche il remplace l'ancien?
- où veux tu que le suivant s'affiche en dessous de l'ancien?
Visualise bien précisément ce que tu veux faire, tu verras que la solution sera alors évidente (enfin le plus souvent... :)
- un s'affiche, petite pause, puis le suivant apparait?
- un s'affiche, puis nouveau clic sur un lien / bouton, et le suivant apparait?
- veux-tu que lorsque le suivant s'affiche il remplace l'ancien?
- où veux tu que le suivant s'affiche en dessous de l'ancien?
Visualise bien précisément ce que tu veux faire, tu verras que la solution sera alors évidente (enfin le plus souvent... :)
Gihef
Messages postés
5150
Date d'inscription
mercredi 20 juillet 2005
Statut
Contributeur
Dernière intervention
20 février 2023
2 779
2 avril 2008 à 23:59
2 avril 2008 à 23:59
Bonjour,
Un exemple peut t'aider ?
--
Un exemple peut t'aider ?
--
absurdsystem
Messages postés
117
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
28 août 2008
50
3 avril 2008 à 12:19
3 avril 2008 à 12:19
voila ce que j'ai actuellement :
http://absurdsystem.free.fr/test/
vous cliquez sur commentaires et la apres un petit temps de chargement les commentaires apparaissent.
moi je voudrai que un premier commentaire apparaisse ensuite petit de chargement puis le deuxieme commentaire etc...
http://absurdsystem.free.fr/test/
vous cliquez sur commentaires et la apres un petit temps de chargement les commentaires apparaissent.
moi je voudrai que un premier commentaire apparaisse ensuite petit de chargement puis le deuxieme commentaire etc...
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
3 avril 2008 à 22:31
3 avril 2008 à 22:31
Bon ce que je fais n'est pas du tout en accord avec les principes de Gihef ;), mais bon tant pis, ça m'entraîne et si en plus ça peut rendre service alors tant mieux!
Voilà ce que j'ai pu faire, c'est surement assez laborieux et vu que mes scripts ne marchent jamais du premier coup (c'est le moins qu'on puisse dire!), et que j'ai encore pas réussi à coder une requête AJAX qui fonctionne :o, il y aura surement beaucoup de débuggage à faire ... alors, au boulot!
comments.html
requete_sql_commentaire.php
Voilà ce que j'ai pu faire, c'est surement assez laborieux et vu que mes scripts ne marchent jamais du premier coup (c'est le moins qu'on puisse dire!), et que j'ai encore pas réussi à coder une requête AJAX qui fonctionne :o, il y aura surement beaucoup de débuggage à faire ... alors, au boulot!
comments.html
<html> <head> <title>News System</title> <link rel="stylesheet" type="text/css" href="system.css" /> <script type="text/javascript" language="javascript"> function getHTTPObject() { var xmlhttp = false; /* Compilation conditionnelle d'IE */ /*@cc_on @if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/ /* on essaie de créer l'objet si ce n'est pas déjà fait */ if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } } if (xmlhttp) { /* on définit ce qui doit se passer quand la page répondra */ xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState == 4) /* 4 : état "complete" */ { if (xmlhttp.status == 200) /* 200 : code HTTP pour OK */ { /* stocke dans une variable le texte des commentaires déjà affichés, puis y rajoute le texte du commentaire suivant, et enfin affiche le tout dans la div 'comments' */ commentaire_deja_affiche = document.getElementById('comments').innerHTML; document.getElementById('comments').innerHTML = commentaire_deja_affiche + xmlhttp.responseText + "<br /><br />"; } } } } return xmlhttp; } function newcomment(i, j) { var xmlhttp = getHTTPObject(); xmlhttp.open('GET','requete_sql_commentaire.php?i='+i,true); xmlhttp.send(null); i++; /* et on recommence, après une pause de 3 secondes, si on est pas arrivé au bout (i<=j) */ if (i<=j) { setTimeout('newcomment()', 3000); } else { alert("Et c'est fini, ya plus de commentaires!"); } } function seecomments() { /* Je sais pas du tout si j'ai le droit de faire ce qui suit.... je pense que ça "court-circuite" un peu AJAX... ... mais bon, je le fais quand même! -- c'est pour obtenir le nombre total de commentaires sans repasser par AJAX */ var j = <?php mysql_connect("localhost", "identifiant", "pass"); mysql_select_db("ma_bdd"); $reponse = mysql_query("SELECT COUNT(*) AS nbre_commentaires FROM nom_de_ta_table"); $donnees = mysql_fetch_array($reponse); echo $donnees['nbre_commentaires']; ?> newcomment(1, j); } </script> </head> <body> <a href="JavaScript:seecomments()">Afficher les commentaires un par un</a> <br /> <div id='comments'> </div> </body> </html>
requete_sql_commentaire.php
<?php $i = $_GET['i']; mysql_connect("localhost", "identifiant", "pass"); mysql_select_db("ma_bdd"); $reponse = mysql_query("SELECT * FROM table_commentaires WHERE id='$i'"); $donnees = mysql_fetch_array($reponse); echo $donnees['contenu_commentaire']; mysql_close(); ?>
absurdsystem
Messages postés
117
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
28 août 2008
50
3 avril 2008 à 22:57
3 avril 2008 à 22:57
Merci l'idée est la !
je vais faire tout ça a ma sauce et je remettrai un message dès que ça fonctionne !
Thank you
je vais faire tout ça a ma sauce et je remettrai un message dès que ça fonctionne !
Thank you
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
3 avril 2008 à 23:03
3 avril 2008 à 23:03
Ok! Dis moi ce qui fonctionnait / fonctionnait pas, ça m'intéresse!
a+
a+
absurdsystem
Messages postés
117
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
28 août 2008
50
3 avril 2008 à 23:46
3 avril 2008 à 23:46
Re !
va voir la :
http://absurdsystem.free.fr/test2/
dit-moi ce que t'en pense, moi je trouve ça classe.
je reorganise un peu le code (parceque la c'est le bordel) et je poste tout ça demain
++
va voir la :
http://absurdsystem.free.fr/test2/
dit-moi ce que t'en pense, moi je trouve ça classe.
je reorganise un peu le code (parceque la c'est le bordel) et je poste tout ça demain
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
5 avril 2008 à 09:08
5 avril 2008 à 09:08
Et ben c'est nickel, ça marche!
C'est sympa la petite image animée "chargement"!
Bon et bien bon courage!
a+
C'est sympa la petite image animée "chargement"!
Bon et bien bon courage!
a+
2 avril 2008 à 22:49
un s'affiche, petite pause, puis suivant ( qui s'affiche en dessous du precedent)
Actuellement je clic ( j'ai mit un setTimeout pour faire style que ça charge) puis tous les commentaires présents dans la table apparaissent d'un coup.
Moi j'aimerais qu'ils apparaissent un à un.
(ça ne me sert a rien mais je trouve ça mieux visuellement)