Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194

    Refresh di una chat su database

    Ciao, a tutti. Sto costruendo una chat in php e mysql. Mi trovo ad affrontare il problema del refresh per intercettare nuovi messaggi.
    Non conosco Ajax per cui mi affido alle soluzioni più spartane come ad esempio l'autorefresh del div con javascript. Mi chiedevo un paio di cose:

    1) C'è un sistema per inviare un comando in automatico all'aggiornamento del database? Qualcosa che faccia fare i refresh a tutti i pc collegati a quel dominio, oppure una variabile, un segnale, qualsiasi cosa che il server mi restituisca e che possa usare?

    2) Ho pensato di controllare ciclicamente l'ultimo id della mia tabella e fare il refresh del div solo de questo è cambiato. Significa inviare continue richieste per molti utenti al database. Non c'è pericolo di crash?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Consiglio di fare richieste asincrone in un determinato intervallo di tempo, tipo qualche secondo (non è detto che t debba per forza usare ajax ma te lo consiglio)

    prova a vedere questa guida http://www.html.it/guide/guida-ajax/

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Grazie, mi son dato una letta ed in effetti è il sistema migliore. Mi mancano però dei tasselli del puzzle.
    Cosa ho fatto:
    1) Ho creato una pagina php con la richiesta al database dell'ultimo id inserito (chat_refresh.php)
    2) Ho creato un script per la temporizzazione della chiamata a chat_refresh.php

    Ora ho un dubbio su come inviare una variabile con Ajax, quello lo chiederò nell'altra sezione.
    L'altro dubbio è: cosa gli dico di fare alla mia pagina chat_refresh.php nel caso ci siano nuovi id?
    La pagina chat_refresh.php sta lavorando in background, posso semplicemente fare un header location alla pagina della chat? (pagina inserita con iframe nella home)

    Codice PHP:
    include '../db/connessione.php';
     
     
    $lastid=$_POST['lastid'];
     
    $sql="SELECT id FROM `chat_home` order by id desc limit 1";
     
    $dati=mysql_query($sql);
     
    $riga=mysql_fetch_assoc($dati);
     
    $id_trovato=$riga['id'];
     
     if (
    $id_trovato $lastid)
     {
      
    header ("location:chat_home.php");
     } 
    codice:
    window.onload=function(){
     setInterval("refresh()",4000);
     function refresh(){
     $.ajax({
     url: "chat_refresh.php",
     type: "POST",
     data: {'lastid':$lastid},
     dataType: "php",
     error: function(){
     alert("Chiamata fallita!!!");
    }
    }
    });
    
    }
     
     }

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Visto che hai deciso di usare AJAX ti sposto in Javascript, qua sono più bravi

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Grazie

  6. #6
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Visto che hai deciso di usare AJAX ti sposto in Javascript, qua sono più bravi
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  7. #7
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da Ciakko Visualizza il messaggio
    Grazie

    quindi il problema js quale sarebbe? cosa non riesci a fare?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Problemi di concetto più che altro essendo la prima volta che mi cimento con una chat.

    Comunque è corretto lo script in Ajax?
    La variabile è il risultato di una query al database, posso trasmetterla come ho fatto?
    Ancora, una volta elaborata la mia pagina php come faccio a far tornare indietro una mia variabile di risposta?

    In questo caso ogni 4 secondi chiedo di verificare l'ultimo id inserito in database, se questo è maggiore dell'ultimo usato in chat allora dovrei far fare il refresh della chat. Come lo faccio?
    Grazie

  9. #9
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da Ciakko Visualizza il messaggio
    Problemi di concetto più che altro essendo la prima volta che mi cimento con una chat.

    Comunque è corretto lo script in Ajax?
    La variabile è il risultato di una query al database, posso trasmetterla come ho fatto?
    Ancora, una volta elaborata la mia pagina php come faccio a far tornare indietro una mia variabile di risposta?

    In questo caso ogni 4 secondi chiedo di verificare l'ultimo id inserito in database, se questo è maggiore dell'ultimo usato in chat allora dovrei far fare il refresh della chat. Come lo faccio?
    Grazie

    se il js viene scritto da php si. se invece hai inserito una variabile php in un file js non è corretto.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    se il js viene scritto da php si. se invece hai inserito una variabile php in un file js non è corretto.
    In che senso scritto da php? Il Js lo racchiudo sempre tra tag script

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.