[PHP] pagina autoaggiornante
[PHP] pagina autoaggiornante
Buongiorno, ho un programmino in C che legge dalla seriale una variabile da una centralina. Questa variabile può avere valore 0 o 1 e viene scritta in un db MySQL. Ora dovrei fare una pagina PHP che legge costantemente il valore della variabile e a seconda del valore mi visualizza un immagine o un'altra in modo continuo. Come posso fare? Grazie.
- Eresia
- Scoppiettante Seguace
- Messaggi: 362
- Iscrizione: venerdì 30 giugno 2006, 1:20
- Distribuzione: gentoo
- Sesso: Maschile
Re: [PHP] pagina autoaggiornante
Qui un ottimo inizio
per l'auto refresh -> http://stackoverflow.com/questions/1149 ... e#11497617
Codice: Seleziona tutto
<?php
$server = "localhost";
$user = "username";
$pass = "password";
$dbname = "myDB";
// Crea connessione
$conn = new mysqli($server, $user, $pass, $dbname);
// Check connessione
if ($conn->connect_error) {
die("Connessione fallita: " . $conn->connect_error);
}
// Qui devi cambiare i valori secondo la tabella del tuo database
$sql = "SELECT id, tua_var FROM TuaTabella";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Valore della variabile: " . $row["tua_var"];
}
} else {
echo "nessun valore trovato";
}
$conn->close();
?>
emerge --auD --oneshot life/lucky-*
Re: [PHP] pagina autoaggiornante
Grazie della risposta.
Il mio problema però è proprio che non vorrei eseguire un autorefresh, perchè ci mette troppo tempo.
Mi piacerebbe che automaticamente, senza refresh, un bottone passi da verde a rosso nel momento in cui il valore passi da 0 a 1.
Il mio problema però è proprio che non vorrei eseguire un autorefresh, perchè ci mette troppo tempo.
Mi piacerebbe che automaticamente, senza refresh, un bottone passi da verde a rosso nel momento in cui il valore passi da 0 a 1.
- Eresia
- Scoppiettante Seguace
- Messaggi: 362
- Iscrizione: venerdì 30 giugno 2006, 1:20
- Distribuzione: gentoo
- Sesso: Maschile
Re: [PHP] pagina autoaggiornante
Cosa intendi ci mette troppo? Hai bisono di refresh i termini di millisecondi?
oppure guarda qui
https://datatables.net/reference/api/ajax.reload%28%29
Codice: Seleziona tutto
$(document).ready(function() {
// refresh automatico 1secondo.
setInterval('refreshPage()', 1000);
});
function refreshPage() {
location.reload();
}
https://datatables.net/reference/api/ajax.reload%28%29
emerge --auD --oneshot life/lucky-*
Re: [PHP] pagina autoaggiornante
Se vuoi un aggiornamento realmente tempestivo dovresti utilizzare le websocket, così lo script che si occupa dell'aggiornamento del valore può notificare immadiatamente tutte le pagine aperte. Ma è una soluzione complessa.ilababy [url=http://forum.ubuntu-it.org/viewtopic.php?p=4956296#p4956296][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Grazie della risposta.
Il mio problema però è proprio che non vorrei eseguire un autorefresh, perchè ci mette troppo tempo.
Mi piacerebbe che automaticamente, senza refresh, un bottone passi da verde a rosso nel momento in cui il valore passi da 0 a 1.
L'auto-refresh di HTTP lavora a secondi, quindi può aggiornarsi ogni secondo, se è piu' lento è colpa del server o dello script che fa caricare la pagina.
Se non ti piace vedere continuamente ricaricare l'immagine (effetto sfarfallio) puoi aggiornarla da javascript.
Un codice molto semplice.
Pagina visualizzazione:
Codice: Seleziona tutto
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Monitoraggio stato</title>
</head>
<body>
<h1>Stato:</h1>
<img id="status-image" src="" alt="">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
function updateImage(){
var imageOk = './image/imageok.jpg';
var imageKo = './image/imageko.jpg';
var checkUrl = './check-status.php';
jQuery.getJSON(checkUrl, function(status){
jQuery('#status-image').attr('src',status ? imageOk : imageKo)
});
}
var refreshMilliseconds = 1000;
setInterval(updateImage,refreshMilliseconds);
</script>
</body>
</html>
Codice: Seleziona tutto
<?php echo json_encode(!!rand(0,1));
Usare setInterval sul refresh della pagina è decisamente inutile, meglio usare setTimeout, tuttavia quel codice non ha nulla di differente da:Eresia [url=http://forum.ubuntu-it.org/viewtopic.php?p=4956429#p4956429][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Cosa intendi ci mette troppo? Hai bisono di refresh i termini di millisecondi?oppure guarda quiCodice: Seleziona tutto
$(document).ready(function() { // refresh automatico 1secondo. setInterval('refreshPage()', 1000); }); function refreshPage() { location.reload(); }
https://datatables.net/reference/api/ajax.reload%28%29
Codice: Seleziona tutto
<meta http-equiv="refresh" content="1">
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
- Eresia
- Scoppiettante Seguace
- Messaggi: 362
- Iscrizione: venerdì 30 giugno 2006, 1:20
- Distribuzione: gentoo
- Sesso: Maschile
Re: [PHP] pagina autoaggiornante
@zoff ottimo a saperlo, grazie!
emerge --auD --oneshot life/lucky-*
Chi c’è in linea
Visualizzano questa sezione: Bing [Bot], Google [Bot] e 18 ospiti