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

    problema caricamento in corso non risolto...

    riciao a tutti.....

    ho un problema che non riesco proprio a risolvere. In pratica il sito è strutturato in due frame, a sinistra il menu e a destra le pagine principali che vengono visulizzate.

    a sinistra scelgo di aprire per esempio pippo.php che ha questo codice:

    Codice PHP:
    si connette odbc ad as400....
    $result=odbc_exec($conn,"SELECT ......");
    while(
    $riga odbc_fetch_array($result)){echo $riga['CDPAR']}
    ..... 
    il problema è che leggendo un tabella di grandi dimensioni la query per dare il risultato ci impiega circa 8-10 secondi.
    Quindi quando scelgo dal menu la pagina sembra bloccato per quel periodo....

    Ho provato varie soluzioni con javascript (trovate in rete) per mettere un "caricamento in corso" ma non mi funzionano perchè la pagina fin quando è caricata non si apre proprio.

    Non sono esperto di javascript, non so se ci sono altre soluzioni.

    chiedo gentilmente aiuto...grazie mille...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Bhe, in genere, tranne se diversamente specificato nella configurazione del server o se il browser non lo permette, dopo un certo lasso di tempo il server inizia a inviare i risulatati anche se lo script non ha terminato l'esecuzione, quindi mettendo un javascript all'inizio della pagina che faccia comparire un qualcosa che dica "Caricamento.." e poi farlo scomparire al onLoad dovrebbe funzionare.
    Altrimenti puoi lasciar perdere i frame (che sono deprecati) e orientarti a delle richieste ajax.


  3. #3
    Mmm.... Chiedo troppo se chiedo un esempio semplice di javascript che secondonte potrebbe funzionare? Non ne so molto in materia e magari provo cose fin troppo eleborate per il mio scopo.

    So che i frame sono abbastanza superati ma Per il momento è quello che sò putroppo.....

  4. #4
    riciao...

    ho provato uno script del genere, semplice che dovrebbe visulizzare il div con scritto "loading" finchè la pagina non è caricata; come dicevo però la pagina non viene visulizzata finchè non ho l'output della query quindi non c'è neanche il tempo di visualizzare il loading perchè compare e scompare nell'imediato.

    codice:
    <script type="text/javascript">
    
    function Caricamento()
    {
        if (document.all)
        {
            document.all.LOADING.style.visibility = "Hidden";
        }
        else if (document.layers)
        {
            document.layers.LOADING.visibility = "Hide";
        }
        else if (document.getElementById)
        {
            document.getElementById.LOADING.style.visibility = "Hidden";
        }
    }
    window.onload = Caricamento;
    </script>
    
    ------ 
    
    <body>
    <div id="LOADING">Loading...</div>


    grazie

  5. #5
    Sfrutta una richiesta asincrona (ajax) che ti popola la pagina piano piano...

    In sostanza avrai:

    al primo richiamo una pagina vuota, ogni tot secondi (multipli o sottomultipli) con ajax estrai riga per riga ed ad ogni richiesta questa riga viene aggiunta alla pagina...

    Magari per mettere la cicliegina sulla torta, alla fine del processo di estrazione, potresti anche visualizzare un messaggio "Loading completato".

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.