[PHP]Aggiornare pagina in maniera trasparente...

stefanoxjx

Utente Attivo
24 Feb 2017
46
1
8
57
Ciao a tutti, credo che quello che sto per chiedere non sia possibile senza javascript o ajax, comunque volevo esserne sicuro.
Il problema è questo...
Ho una tabella con alcuni campi che vengono variati spesso da un processo esterno e la stessa viene visualizzata a video tramite una pagina php.
Volevo chiedere se è possibile impostare un timer in modo che questa pagina esegua una query ogni 30 secondi e in seguito aggiornarla in maniera trasparente per l'utente.
Quello che intendo per "trasparente" è che l'utente anche se ha scrollato la pagina, deve vedere i campi che si aggiornano ma non vedersi la pagina balzare sempre alla prima riga ogni 30 secondi.
Grazie.

Stefano
 
Ammetto di non essere stato molto chiaro ieri, ma era tardi ed ero veramente stanco.
Ripropongo il quesito in maniera diversa, perchè ho visto che effettivamente ho omesso alcuni punti.
La situazione attuale è:
- Pagina PHP con una tabella che lista i PC disponibili a ricevere dei comandi, lo stato dell'ultimo comando inviato, dei pulsanti per inviare dei comandi a questi PC nella lista

- I PC quando ricevono il comando eseguono l'azione e poi rispondono richiamando un'altra pagina PHP che va ad aggiornare una tabella tramite mysql

A questo punto, la pagina in PHP (quella con la lista dei PC) si aggiorna ogni 30 secondi e di conseguenza aggiorna lo stato.
Il fatto che ogni 30 secondi (quando si aggiorna la pagina) la visualizzazione torni all'inizio si è in qualche modo risolto.
Infatti, stavo testando con internet explorer (chissà perchè che poi non uso nemmeno windows e penso che questo browser non lo usi più nessuno), ma comunque usando chrome o firefox questo problema è sparito.
Con questi browser quando la pagina si ricarica la cosa è trasparente per l'utente che anche se ha scrollato fino alla riga 100 si vedrà aggiornare sotto il naso i dati ma rimanendo alla riga 100.
Il problema che invece c'è ancora è il ricaricamento della pagina quando clicco in uno dei pulsanti che inviano il comando.
I pulsanti sono inseriti in una tabella html in questo modo:

Codice:
<form method="post">
   <td style="border:0px white;">
      <center>
         <input type="hidden" value="'.$idPC.'" name="id_dispositivo">
         <input type="hidden" value="'.$snPC.'" name="sn_dispositivo">
         <input type="submit" id="Esegui" value="" name="Esegui" title="Esegue l'azione" formaction="" 
                         style=\'background : url(../Action.png); background-repeat : no-repeat; width : 36px; height : 36px;  text-indent:-9999px; border: 0px;\'/>
         </center>
    </td>
</form>
Infatti non appena clicco su uno di questi pulsanti, la pagina si ricarica riportandomi alla prima riga.
Ora la domanda è sempre la stessa...
E' possibile evitare questo?

Grazie.

Stefano
 
Immaginavo, volevo solo una conferma.
Un'altra cosa nuova da studiare :(
Grazie della risposta.

Stefano
 

Discussioni simili