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 :

Script AJAX et PHP (Laravel) pour un tchat


Sujet :

AJAX

  1. #1
    Nouveau membre du Club Avatar de chatofor
    Profil pro
    Inscrit en
    Août 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 59
    Points : 25
    Points
    25
    Par défaut Script AJAX et PHP (Laravel) pour un tchat
    Bonjour,

    J'essaie de coder un tchat avec le framework PHP Laravel (MVC) et un code Javascript vanilla et AJAX.

    Je parviens à envoyer mes messages en base de données ainsi qu'à les afficher dans le tchat, cependant j'ai mis un setInterval pour actualiser le tchat toutes les x secondes, or à chaque actualisation je vois l'intégralité des messages être affichés. Je ne souhaiterais évidemment afficher que les derniers messages postés. Pourriez vous m'aider svp ?

    Voici le
    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
        function msgLoader() {
     
           let  xmlhttp = new XMLHttpRequest()
     
           xmlhttp.onreadystatechange = function()
           {
            if(this.readyState == 4) {
                if(this.status == 200){
     
     
                    let messages = JSON.parse(this.response)
     
     
                    let discut = document.querySelector("#discut")
     
                    messages.reverse()
     
                    for(let message of messages){
     
                        discut.innerHTML = '<div class=\"flex justify-end mb-4\"><div class=\"mr-2 py-3 px-4 bg-blue-400 rounded-bl-3xl rounded-tl-3xl rounded-tr-xl text-white\">'
                        + message.content + "</div></div>" + discut.innerHTML
     
                        lastID = message.id
     
     
                    }
     
                }
     
     
            }
           }
     
           xmlhttp.open("GET", "msgLoader/"+lastID)
           xmlhttp.send()
        }
    Et le
    Code PHP : 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
        public function msgLoader(Request $request, $lastID)
        {
     
     
            if($request->isMethod('GET')){
     
     
     
                $msgs = DB::table('messages')
                ->select('content')
                ->where('id', '>', $lastID)
                ->take(5)
                ->get();
     
     
                $messagesJSON = json_encode($msgs);
                echo $messagesJSON;            
     
     
     
            }
            else{
     
                return response()->json(['message' => 'no']);
            }
     
     
     
     
        }


    En vous remerciant par avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    regardez dans la console de développement de votre navigateur si l'url envoyé est correct avec le bon identifiant de message.

Discussions similaires

  1. Utiliser Ajax et PHP SQL pour afficher des images BDD
    Par kaspar Knox dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/02/2016, 18h48
  2. Réponses: 0
    Dernier message: 20/10/2009, 23h35
  3. Quel script de portail PHP 5 pour une société ?
    Par yopex dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 25/02/2009, 09h16
  4. [AJAX] [Xajax] script php xajax pour rafraichire
    Par micka30 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 19/04/2008, 15h21
  5. [AJAX] Différence ntre ie et firefox pour un script ajax
    Par Phenomenium dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/03/2006, 11h10

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