Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    refreshare una sola volta una pagina con localStorage e setInterval jquery se count(*) mysql è uguale a 1

    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

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Nel php stampi una stringa ( vedi echo 'localStorage....' ) mentre nel success ajax confronti un numero
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    grazie per la risposta, proverò con calma il corretto funzionamento e la logica. grazie.

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.