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

    Iterazione numerica (for $i...) usando anche "sleep" per ritardare le azioni

    Vi spiego il problema:

    Devo visualizzare (ad esempio) 10 valori di un array uno alla volta... solo che tra una volta e l'altra dev'esserci una pausa di tempo.

    Ho fatto l'iterazione per eseguire le azioni:

    Codice PHP:
    for($i 0$i 10$i++) {
        echo 
    $array[$i];

    Ho letto che è possibile ritardare un azione usando la funzione sleep.

    Quindi per inserire una pausa di (ad esempio) 2 secondi, il codice dell'iterazione dovrebbe diventare così:

    Codice PHP:
    for($i 0$i 10$i++) {
        echo 
    $array[$i];
        
    sleep(2);  // qui il tempo va espresso in secondi

    Così, almeno teoricamente, dovrebbe RIPETERE l'azione di visualizzare l'array ogni volta con un valore aumentato di 1, con un RITARDO di 2 secondi per ogni valore dell'array.

    Peccato che non funzioni a livello pratico! (L'unica cosa che arriva in ritardo se aumento i secondi, è il caricamento della pagina, poi scrive tutto di seguito come sempre!)

    Dove sbaglio?

  2. #2
    Per fare quello che ti serve devi usare Javascript. Il webserver ti manda tutta la pagina una volta processata, non un pezzo per volta.

  3. #3
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    detto in altre parole...la funzione sleep sospende l'elaborazione sul server...quando l'elaborazione termina la pagina viene inviata....quindi la funzione sleep mette in pausa il processore del server per 2 secondi ritardando la consegna della pagina!
    documentati sul setTimeout e setInterval di js

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  4. #4
    Nooo ... Quindi stavo facendo una cavolata...

    Ma allora la funzione sleep è STRAINUTILE!

    Ok... adesso come faccio a fare Javascript + PHP..?

  5. #5
    Ma questa funzione http://it2.php.net/flush a ke serve allora? non mi ha mai funzionato, filippo toso tu ke sai tutto sai dirmi qualcosa?

    [EDIT]:

    Avevo capito giusto ke serve appunto a questo scopo...
    prova questo script:

    <?php // not in table tags for IE
    echo str_pad('',1024); // minimum start for Safari
    for ($i=10; $i>0; $i--) {
    echo str_pad("$i
    \n",8);
    // tag after text for Safari & Firefox
    // 8 char minimum for Firefox
    flush(); // worked without ob_flush() for me
    sleep(1);
    }
    ?>

    Vedrai ke lanciandolo carichera i dati ad uno ad uno come vuoi tu!

  6. #6
    Grazie StefanoV domani lo provo e ti faccio sapere se va...

    Per adesso, notte a tutti

  7. #7
    Non funziona...

    Forse devo provare con javascript...

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.