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

    [PHP] - Bloccare ciclo while

    ciao a tutti, ho un problema che non riesco a risolvere: ho una pagina php con un ciclo while in cui elabora dei dati; voglio fare in modo che premendo il pulsante "indietro" (ritornando sulla home) il ciclo si blocchi. Ho provato a mettere un link "indietro" (fatto con .......) e cliccando non ritorna indietro e la pagina si impalla... come posso risolvere?

    grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    52
    Dovresti postare il codice: aiutarti con la benda agli occhi è un po' arduo

  3. #3
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    ?????? EH ??????

    ma che devi fare ????

    Non funzionano cosi' i cicli ....
    Php viene elaborato lato server... e lo script inizia l'elaborazione e in base al codice scrive nella response. Poi in base all configurazione del server i dati vengono spediti od ogni echo fatto oppure alla fine dell'esecuzione.

    Pertanto non capisco davvero cosa tu debba fare/stia facendo.

  4. #4
    allora, vi spiego meglio:

    all'interno del HTML ho una cosa del genere:

    Codice PHP:
    [url="home.htm"]Indietro[/url] - [url="risultati.php"]Risultati[/url
    all'interno del PHP
    Codice PHP:
    while ($dati) {

    //calcolo di dati

    if (($stat_a_2 == "1") && ($stat_b_2 == "1")) {
                            
    $dati false;
                        } else {

                        }
                    } 

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    che senso ha sta cosa ???

    Sinceramente non capisco ancora cosa ti sei proposto di fare.

  6. #6
    nella pagina html, dove ci sono i due link, quando clicco su risultati.php, la pagina rimane in attesa fin quando non termina il ciclo. Essendo che il ciclo è abbastanza lungo e un utente vuole bloccare l'attesa, come posso fare ?

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    in nessun modo. Una volta lanciato lo script ... e' fatta.

    Per terminarlo devi farlo da command line nel server ma in hosting non puoi farlo perche' devi inviare comandi direttamente all'os.

    Inoltre anche se chiudi la pagina ... lo script cotinua cmq l'esecuzione.

    L'unico modo che hai e' impostare qualcosa che dica allo script di fermarsi e lavorare tutto in ajax.
    A pulsante vedi risultati avvi lo cript in ajax...e la pagina segnala l'esecuzione in corso dell'operazione.

    Se vuoi bloccarla metti una tabella che traccia un codice specifico per l'utante e la flag esegui = 1 ... se vuoi fermare tutto metti un altro pulsante blocca che mette la flag a 0 o elmina la riga dal db. A ogni ciclo controlli che valora ha quella riga nel db(si sono tante query) e quando o saprisce o diventa 0 lanci il die(); e killi l'esecuzione.

  8. #8
    Originariamente inviato da Virus_101
    in nessun modo. Una volta lanciato lo script ... e' fatta.

    Per terminarlo devi farlo da command line nel server ma in hosting non puoi farlo perche' devi inviare comandi direttamente all'os.

    Inoltre anche se chiudi la pagina ... lo script cotinua cmq l'esecuzione.

    L'unico modo che hai e' impostare qualcosa che dica allo script di fermarsi e lavorare tutto in ajax.
    A pulsante vedi risultati avvi lo cript in ajax...e la pagina segnala l'esecuzione in corso dell'operazione.

    Se vuoi bloccarla metti una tabella che traccia un codice specifico per l'utante e la flag esegui = 1 ... se vuoi fermare tutto metti un altro pulsante blocca che mette la flag a 0 o elmina la riga dal db. A ogni ciclo controlli che valora ha quella riga nel db(si sono tante query) e quando o saprisce o diventa 0 lanci il die(); e killi l'esecuzione.
    ah ok, il ragionamento è chiaro, l'implementazione sarà un po dura cmq grazie

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    si non e' una cosa che solitamente si fa ma e' un modo come altri per poter avere il controllo su una procedura di questo tipo.

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.