• User

    Aggiornamento risultati in tempo reale

    Ciao a tutti cari GTForumers! Posto in questa sezione perchè mi sembra la più adatta alla soluzione di cui ho bisogno, ma se è sbagliata vi prego di spostarmi nella sezione adatta (e chiedo scusa per l'errore)

    Ho bisogno di un grande aiuto. Ho in cantiere un sito di carattere sportivo (da cui in un futuro non molto lontano dovrebbe nascere anche una web app) dove devono essere aggiornati alcuni dati visibili in tempo reale (ad esempio i risultati delle partite in diretta). Tutti questi dati vengono aggiornati manualmente da una persona ed in tempo reale.

    Si tratterebbe di: aggiornare i punteggi, cambio di colori del testo, cambio di stili (bold/non bold) e cambio di immagini. Sto creando tutto in modo che venga automatizzato, ma come rendere visibili i cambiamenti agli utenti in tempo reale?? Considerate che i dati cambiano con una frequenza media di 10 secondi.

    Ora la soluzione più semplice sarebbe quella di creare un auto refresh della pagina ogni 10 secondi (almeno la prima a cui ho pensato), ma non mi piace che si ricarichi tutta la pagina, è brutto a vedersi. Potrei forse creare qualcosa come un iframe e ricaricare la pagina dentro l'iframe, ma nemmeno questo mi piace tanto. C'è una soluzione per fare in modo che l'utente veda solo cambiare il risultato o le altre cose senza che si ricarichi tutta la pagina? Per intenderci, come quando in TV c'è una partita e al gol cambia il risultato, si vede solo il numeretto che cambia.

    Spero di essermi saputo spiegare e che qualcuno riesca a darmi una mano!

    Grazie! 🙂


  • User Attivo

    Ciao
    non so se si possa fare oppure no sinceramente ma hai provato a vedere se puoi gestire tutto con ajax e delle chiamate asincrone?


  • User

    Ciao Pietro!

    Purtroppo di ajax non ne so assolutamente nulla.. 😞


  • Moderatore

    Ciao NDakota,

    Devi combinare AJAX e PHP per ottenere il risultato che vuoi, ed inserire le chiamate dentro un setInterval.

    
    setInterval(function(){
    // questo codice si esegue ogni 10 secondi
    },10000)
    
    

  • User

    Ciao!

    Grazie. Io come ho detto prima di Ajax non ne so nulla. All' interno del SetInterval cosa dovrei mettere esattamente? Non il codice, ma proprio a livello pratico cosa ci va? e soprattutto in linguaggio Ajax o PHP?

    Grazie.


  • Moderatore

    Ok che non ne sai nulla ma puoi documentarti e googlare, altrimenti non puoi farlo.

    All'interno del setInterval metti le chiamate AJAX in linguaggio Javascript/jQuery, che rimandando ad un file esterno in PHP elabora e restituisce i dati aggiornati che ti servono.

    Al success della chiamata AJAX fai aggiornare il DOM con i dati restituiti dalla chiamata AJAX.


  • User Attivo

    Concordo con MiWebDesign
    l'unico modo per risolvere questa problematica è quello dell'uso combinato AJAX/PHP. Non è difficile, con un po' di buona volontà ce la puoi fare. Se poi, durante lo studio hai qualche dubbio il forum c'è sempre!


  • User

    Ma naturalmente!!! Grazie per le informazioni!! Si si non ne so nulla ma e' mia intenzione studiare taaaanto!! Ti ho chiesto delle spiegazioni in piu' giusto per sapere come funziona in se' la funzione, cosi' so cosa guardare!! 😄

    Grazieeeeee!!! 🙂