IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Page de commentaire ajax


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Points : 32
    Points
    32
    Par défaut [AJAX] Page de commentaire ajax
    Bonjour a tous,

    je suis debutant ,je voulais faire une page de commentaie genre par exemple 'commentaire sur facebook', le probleme ici c que ma requete sur ajax s'envoie normalement tout fonctionne mais pour avoir le dernier commentaire que j'ai saisi je dois actualiser ma page pour l'avoir, sinon si je mets l'affichage via ajax j'ai un autre probleme c que lorsque j'accede pemier fois sur ma page je l a trouve vide donc je suis obligé a saisir quelque choses pour que tout les donnés s'affichent ;j'éspere que j'etais claire
    voila mes deux pages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    <?php
        mysql_connect('localhost', 'momo', 'momo')or die(mysql_error());
        mysql_select_db('test') or die(mysql_error());
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
        <head>
            <script type="text/javascript" src="xmlhttprequest.js"> </script>
            <script type="text/javascript">
     
                function request() {
     
    	            var xhr = getXMLHttpRequest();
     
    	            xhr.onreadystatechange = function() {
    		        if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    			    readData(xhr.responseText);
                                document.getElementById("loader").style.display = "none";
    		        } else if (xhr.readyState < 4) {
    			    document.getElementById("loader").style.display = "inline";
    		        }
    	            };
     
    	            xhr.open("POST","blog_blog.php",true);
                        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                        var valeur = document.getElementById("text").value;
    	            xhr.send("variable="+valeur);
                }
     
                function readData(oData) {
    	           oData;
                }
     
            </script>
        </head>
     
        <body>
     
     
            <div id="loader" style="display:none"><img src="image.gif" alt="Patienter svp" /> </div>
            <div id="comment" style="border: 1px solid #333; width: 400px; padding:20px; margin:0 auto;margin-top:10px; ">
     
    	    <?php
                     
                    $query = "SELECT prenom FROM reference";
                    $res = mysql_query($query) or die(mysql_error());
                    while($row = mysql_fetch_assoc($res)){
                            echo "<div style='background:red; margin:10px;'>".$row["prenom"]."</div>";
                    }
                ?>
    	</div>
     
     
                     <input type="text" name="text" id="text"  onclick='request()'/>
     
     
     
     
        </body>
                 <?php
                     mysql_close();
                 ?>
    </html>
    et l'autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php
       
        
         if(isset($_POST['variable'])){
                    mysql_connect("localhost","momo","momo");
                    mysql_select_db("test");
                    $var = $_POST["variable"];
                    $e = "INSERT INTO reference (id, nom, prenom) VALUES (null,'samia','$var')";
                    $r = mysql_query($e) or die(mysql_error());
                   
                    
            }
              
     
     
    ?>

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    Structure tes phrases(ta phrase enfait :p) et vide ton code de superflu (css dans les balises etc..) on les comprendra mieux.


    si je récapitule ton actuelle page ca donnerait grosso modo
    <scriptajax>
    <page>
    ----------Loader.gif--------

    ----------Comment---------
    Nom1_reçut par requete
    Nom2_reçut par requete
    ...
    ----------------------------

    ---Bouton -> AJAX ajout de samia dans les noms en base de donnée---



    Pour résoudre ton problème d'actualisation, il faut que ton script ajax renvoie la liste des commentaires.

    Par exemple, dans ton fichier php, après avoir insérer ton nouveau prénom, tu renvoie la nouvelle liste de commentaires (la meme requete que celle que tu as au milieu de ta page)

    Dans ton script ajax, lorsque la requete est terminé(xhr.readyState == 4), tu charge ta réponse dans le gros div des commentaire:
    document.getElementById('Le_nom_de_ton_DIV_des_commentaires').innerHTML = xhr.responseText;

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Points : 32
    Points
    32
    Par défaut
    bon si je le fais comme ça, ça donnerait rien lorsque j'accède la première fois car je dois cliquer sur le bouton car la requête select est la deuxième page.

  4. #4
    Membre confirmé Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Points : 551
    Points
    551
    Par défaut
    Bonsoir,

    A quoi sert cette fonction ?
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                function readData(oData) {
    	           oData;
                }

    gototog a raison, il faut que ta page "blog_blog.php" te renvoie la nouvelle liste, mais il faut quand même garder le select dans la page appelante pour le premier affichage.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par nadox Voir le message
    Bonsoir,

    A quoi sert cette fonction ?
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                function readData(oData) {
    	           oData;
                }

    gototog a raison, il faut que ta page "blog_blog.php" te renvoie la nouvelle liste, mais il faut quand même garder le select dans la page appelante pour le premier affichage.
    cette fonction je l'ai mis comme ça pour ne pas avoir une resultat de la page blog_blog sinon j'ai fait comme vous m'avez dit mais c pas ça ce que je veux ,je veux ce que j'ecris il reste toujours dans ma page; pour vous expliquer plus voila un eemple que j'ai touvé http://demos.9lessons.info/comment_system.php normalement ça ce que j'ai fait et ce que vous m'avez demandé de faire mais enfin lorsque j'actualie ou j'accede un deuxieme fois dans ma page tout ce que j'ai mis comme commentaire disparait mais moi je veux qu'il reste .

  6. #6
    Membre confirmé Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Points : 551
    Points
    551
    Par défaut
    Montre nous ton nouveau code, parce que là... difficile de voir ce qui ne va pas !

    Tu as bien tes nouvelles données dans la base de données?

Discussions similaires

  1. [AJAX] Page précédente avec Ajax
    Par olivier tortel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/12/2008, 17h01
  2. [AJAX] page d'attente là 'aide d'un script javascript
    Par babalastar dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/03/2007, 21h12
  3. Erreur lors de l'appel d'une page executée avec AJAX
    Par jt-tronix dans le forum Langage
    Réponses: 3
    Dernier message: 08/11/2006, 17h56
  4. [AJAX] page qui ne s'affiche pas
    Par loka dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 25/04/2006, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo