Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577

    Loading di una seconda pagina php

    Buona domenica a tutti.

    Sto impazzendo per cercare di aggiungere una barra di scorrimento, un thicker o un qualcosa del genere che dia l'impressione della situazione di "elaborazione in corso..." quando da una pagina php effettuo un post (submit) verso una seconda pagina php che raccoglie i dati della prima e gli elabora.
    Ho provato con mille scripts ajax trovati in rete, ma la gif di attesa o la frase di attesa mi compare solo quando la pagina2.php ha finito di eseguire il loop di lettura dal database e non durante.

    Qualcuno potrebbe darmi una mano per capire come risolvere ?

    Grazie a tutti in anticipo.

    Lucia.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Facci vedere il codice che stai usando per far apparire questa gif e vediamo di capire dov'è l'errore, senza codice è impossibile aiutarti a risolvere se non dandoti una soluzione del tutto diversa.

    Un'idea potrebbe essere l'inserimento nella pagina di un div contenente la gif animata, all'apertura della pagina il div è impostato come nascosto tramite javascript, associ un evento js "onclick" al pulsante di submit il quale attiva una funzione che modifica lo stato del div da nascosto a visibile.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    Il codice è concentrato tutto sulla seconda pagina (quella chiamata), ed è il seguente:

    codice:
    <html>
    <title></title>
    <head>
    <script type="text/javascript" src="../jquery/jquery.js"></script>
    <SCRIPT>
    $(document).ready(function () {
    $.get("pagina2.php", { keyword: "linein"},
        function(data){
            document.getElementById('text_box').innerHTML = data;
        });
    });
    </SCRIPT>
        </head>
        <body>
            <DIV id=text_box>[img]../img/ajax-loader.gif[/img] loading...</DIV>
    <?php
    while($row = mysql_fetch_array($qry)) {
    .... righe da visualizzare
    }
    ?>
    </body>

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Secondo me allora il problema è questo, se usi Ajax il codice per mostrare la gif deve essere nella pagina chiamante, la pagina chiamata deve essere invocata tramite una chiamata asincrona, ovvero non cambiando pagina, ma solo attendendo i risultati.

    Tutto ciò però non ha niente a che vedere con PHP, devi chiedere nella sezione Javascript.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    Allora facciamo così, lasciamo perdere ajax.

    Come posso fare per inserire una scritta visualizzabile sulla pagina2.php mentre elabora la risposta ?
    Questo perchè l'utente abbia percezione che vi è una elaborazione in corso.
    Andrebbe bene anche un "Elaborazione in corso...".

    Poi, ancora meglio se riuscissi a farmi sovrascrivere n righe con la dicitura:

    Elaboro la riga 1...
    Elaboro la riga 2...

    Elaboro la riga n...

    Mentre con tutti i tentativi fatti sinora, la scritta mi compare esattamente a fine script eseguito.

    Grazie ancora.

    Lucia

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    In tal caso ti basta mettere un echo nel ciclo while

    $i = 1;
    while(....) {
    echo "elaboro la riga " . $i;
    $i++;
    codice dell'elaborazione
    }

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.