Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Select ogni tot di secondi

    Salve a tutti e ringrazio anticipatamente chi mi sappia aiutare; la mia situazione è questa: ho una tabella di scadenze, con id, testo scadenza, data scadenza.
    Questa tabella è piena di scadenze come logico che sia!
    Adesso voglio che compaia una e una sola scadenza per volta in un piccolo div a rotazione diciamo ogni 5 sec.
    Devono comparire nell'insieme di rotazione quelle che ancora non scadono alla data giornaliera!
    Spero di essere stato chiaro. Attendo impaziente aiuti! Ciao

    Codice PHP:
    questo è il codice della select:
        
    $data =  time();

        
    $query "SELECT * FROM scadenze WHERE 1 $data <= data";
        
    $result mysql_query($query$db);
        
    $row mysql_fetch_array($result))
        echo 
    "$row[testo]";
        echo 
    "Scade il $row[data]"
    Questa select dovrebbe essere eseguita ad esempio ogni 5 secondi prendendo sempre un'id diverso rispettando la condizione nello where!!
    Come faccio?? Help!!!

  2. #2
    nessuno mi sà dare una mano?? pleaseeee!!!

  3. #3
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    Originariamente inviato da JellyBelly
    nessuno mi sà dare una mano?? pleaseeee!!!
    guarda qui timers

    ma secondo me così rischi di impallare il browser

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  4. #4
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    e anche QUI

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  5. #5
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442

    Re: Select ogni tot di secondi

    Usa un iframe al posto del div (oppure all'interno del div stesso) e nello script che esegue la query ci metti una riga di javascript che lo aggiorna ogni x secondi

    Salva questo nel tuo script php

    Codice PHP:
       echo 
      
    '<script type="text/javascript">
       var seconds = 5;
       setTimeout('
    reload()', seconds*1000);
       </script>
       '

        
    $data =  time();

        
    $query "SELECT * FROM scadenze WHERE 1 $data <= data";
        
    $result mysql_query($query$db);
        
    $row mysql_fetch_array($result))
        echo 
    "$row[testo]";
        echo 
    "Scade il $row[data]"
    e nel div metti questo codice, supponendo che lo script di cui sopra si chiami select.php*

    codice:
    <iframe src="select.php" width="300" height="300">
      Contenuto alternativo per i browser che non leggono gli iframe.
    </iframe>
    * non ricordo se l'iframe prende un url assoluto o vada bene anche uno relativo, prova.

    Ciao preside', per chiarimenti mi trovi su msn...

  6. #6
    visto che non hai bisogno di interrogare il database in realtime ("Devono comparire nell'insieme di rotazione quelle che ancora non scadono alla data giornaliera!")... perchè lo interroghi ogni 5 secondi?

    Prendi TUTTI i record una sola volta, e li carichi in un array JavaScript e poi timerizzi in qualche modo su quello, senza nessun reload effettivo.

  7. #7
    grazie ad entrambi provo ad eseguire quello che mi avete proposto e faccio le mie conclusoni, se ho problemi sò dove tornare!!

  8. #8
    Originariamente inviato da }gu|do[z]{®©
    visto che non hai bisogno di interrogare il database in realtime ("Devono comparire nell'insieme di rotazione quelle che ancora non scadono alla data giornaliera!")... perchè lo interroghi ogni 5 secondi?

    Prendi TUTTI i record una sola volta, e li carichi in un array JavaScript e poi timerizzi in qualche modo su quello, senza nessun reload effettivo.
    non ho la minima idea di come farlo!!
    Non conosco il javascript!
    Riconosco che come idea non è male, è stupido interrogare il database ogni 5 sec!

  9. #9

    Re: Re: Select ogni tot di secondi

    Originariamente inviato da fabi080
    Usa un iframe al posto del div (oppure all'interno del div stesso) e nello script che esegue la query ci metti una riga di javascript che lo aggiorna ogni x secondi

    Salva questo nel tuo script php

    Codice PHP:
       echo 
      
    '<script type="text/javascript">
       var seconds = 5;
       setTimeout('
    reload()', seconds*1000);
       </script>
       '

        
    $data =  time();

        
    $query "SELECT * FROM scadenze WHERE 1 $data <= data";
        
    $result mysql_query($query$db);
        
    $row mysql_fetch_array($result))
        echo 
    "$row[testo]";
        echo 
    "Scade il $row[data]"
    e nel div metti questo codice, supponendo che lo script di cui sopra si chiami select.php*

    codice:
    <iframe src="select.php" width="300" height="300">
      Contenuto alternativo per i browser che non leggono gli iframe.
    </iframe>
    * non ricordo se l'iframe prende un url assoluto o vada bene anche uno relativo, prova.

    Ciao preside', per chiarimenti mi trovi su msn...
    Prima di tutto grazie Fabio! ho appena testao quello che mi hai detto e mi dà errore di parentesi in questa riga: setTimeout('reload()', seconds*1000);
    ho tolto gli apici alla funzione reload, funziona la query, ma non funziona lo script di rotazione, rimane sempre la stessa select visualizzata, non ruota mai!! Qualche idea?

  10. #10
    Originariamente inviato da JellyBelly
    non ho la minima idea di come farlo!!
    Non conosco il javascript!
    Riconosco che come idea non è male, è stupido interrogare il database ogni 5 sec!
    lato client onestamente non sono molto aggiornato.. ma sei nella sezione giusta

    comunque credo ti basti vedere come funzionano i timer.. per il resto ogni 5 secondi incrementi un contatore che usi come indice dell'array.. in linea di massima è semplice, poi ripeto.. neanche io sono ferrato in JS


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.