ciao a tutti, sto cercando di creare un ciclo tramite un setInterval, praticamente la pagina dovrebbe ricaricarsi solo quando la query count(*) è uguale a 1, se nel setInterval è ancora 1 non dovrebbe più ricaricarsi, e resettare tutto quando il count(*) sia diverso a 1.
al momento la pagina viene refreshata sempre che il count(*) restituisce 1, ma mi servirebbe il refresh solo la prima volta che il count(*) restituisce 1.
lato php, nel file ctr_1_consegna.php quando il count(*) è uguale a 1 setto
localStorage.setItem("ctr1con", "SI");
e poi ogni volta nel setInterval eseguo il get del file php e verifico il localStorage .
dentro il head del file paginarefresh.php
codice HTML:
<script type="text/javascript">
$(document).ready(function() {
setInterval(function(){ $.ajax({ url: "php/ctr_1_consegna.php", cache: false, success: function(html) { if(localStorage["ctr1con"] != "SI") { var unasola = html; if (unasola == 1) { console.log("ctr1con = SI - REFRESHO PAGINA"); //debug setTimeout(function() { window.location.reload(); // refresh paginarefresh.php }, 1000); } else { console.log("ctr1con = NO - 0 o più di una"); //debug localStorage.setItem("ctr1con", "NO"); } } } }); }, 15000); });</script>
file ctr_1_consegna.php
Codice PHP:
require 'conndbcontotesi.php'; // call configurazione db
// consegne non lette $q_num_con_daleggere = ("SELECT count(*) as num_consegne_daleggere FROM consegna c WHERE c.consegna_letta = 'NO';");
$sql_q_num_con_daleggere = mysql_query($q_num_con_daleggere) or die(mysql_error()); while ($row_Q = mysql_fetch_array($sql_q_num_con_daleggere,MYSQL_BOTH)) {
echo $row_Q['num_consegne_daleggere'];
}
if ($row_Q['num_consegne_daleggere'] == 1) { echo (' <script> localStorage.setItem("ctr1con", "SI"); </script> '); }
qualche suggerimento per eseguire solo 1 unico refresh quando il count(*) è uguale a 1, e poi, se è diverso di rientrare nel ciclo?
grazie in anticipo.
Saluti