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

    Velocizzare script Javascript/PHP

    Ciao a tutti, dichiaro un file mezzo php mezzo javascript come file javascript in questo modo:

    <script language=\"javascript\" src=\"include/movcarlist.php\></script>

    e lancio una funzione di questo file nel body onload

    <body onload=\"fillEstremiDoc();\">";

    il mio file javascript/php ha delle funzioni del tipo:

    function funzione() {
    ... qualche istruzione javascript
    ...
    ...
    <?
    $q1=mysql_query("select IDFornitore from fornitori",$connection);

    while($nt1=mysql_fetch_array($q1)){
    echo "if(document.formcarico.Forn.value == '$nt1[0]'){";
    $q2=mysql_query("select IDReparto from reparti",$connection);
    while($nt2=mysql_fetch_array($q2)){
    ...
    ...
    }
    echo "}";
    }
    ?>
    }


    Praticamente con il php mi costruisco il javascript... tutto funziona benissimo tranne il fatto che quando viene dichiarato il javascript vengono eseguite tutte le query perché
    echo "if(document.formcarico.Forn.value == '$nt1[0]'){";
    non blocca l'esecuzione della query successiva essendo essa in php e quindi non sta sotto questo if...

    il problema è che tutto diventa lentissimo... non so se mi sono spiegato ma se qualcuno ha una soluzione a questo problema, mi farebbe un grosso favore...

    Grazie, ciao!

  2. #2
    Potresti provare ad usare nello script php le funzioni di output control.
    Su html.it trovi tanti articoli a riguardo.
    Antonio Correnti
    www.resetstudio.it

  3. #3
    Dici con ob_start() e ob_end_flush()?
    Rimane comunque lento...

  4. #4
    Secondo me il pattern di programmazione è errato se vuoi garantire velocità

    Perché avviene così:

    carico pagina html/php - nel file c'è un js generato da uno script con chiamate al db, lo richiamo-> attendo che il server fa tutte le query etc e mi restituisce il file->eseguo il Js ma la pagina intera ha caricato da tempo...


    Io farei così

    carico la pagina php, al suo interno ho

    Codice PHP:
    <head>
    <script type="text/javascript">
    <?php
    //query con print di tutte le variabili JS di cui ho bisogno

    ?>
    </script>
    <script type="text/javascript">
    //qui uso le variabili che ho ricevuto da php. posso anche usare uno script remoto dove le utilizzo
    </script>
    </head>
    Facendo così la pagina restituitati contiene già le query eseguite etc. e non devi fare un'altra richiesta php al server.
    Antonio Correnti
    www.resetstudio.it

  5. #5
    Non riesco a capire...

    io ho un file php che richiama questo nell'head:

    <script language="javascript" src="include/movcarlist.php"></script>

    poi un

    <body onload="fillEstremiDoc();">

    Dentro questo movcarlist.php ci sono istruzioni per riempire o meno dei select con delle query php... tipo seleziono un reparto, la select dopo si riempie di categorie articoli di quel reparto, seleziono una categoria e la select dopo si riempie di articoli di quella categoria e di quel reparto...

    il problema è che sembra che tutte le query vengano eseguite essendo in php dentro un javascript... e quindi ogni volta che faccio il refresh della pagina ci mette 20 secondi... se non di più

  6. #6
    Allora praticamente:

    Fai così

    trasformi questo

    <script language="javascript" src="include/movcarlist.php"></script>
    in

    Codice PHP:
    <script type="text/javascript">

    QUI

    </script>
     
    e dove ho scritto QUI, incolli il contenuto di

    include/movcarlist.php

    o addirittura per tenere tutto separato potresti fare

    Codice PHP:
    <script type="text/javascript">

    <?php include("include/movcarlist.php"); ?>

    </script>
    Spero di essere stato chiaro!
    Antonio Correnti
    www.resetstudio.it

  7. #7
    In effetti è più veloce ma non funzionano più i javascript

    Il mio file movcarlist.php in realtà è un js con del codice php e query a mysql per riempire i select...

  8. #8
    Beh io ho script simili, e mi funzionano alla perfezione. Alla fine se fai visualizza sorgente nel browser per vedere l'output html che ti da, ti dovrebbe valutare correttamente quella chiamata di inclusione e riempire il tag script con js valido, verifica e fammi sapere.
    Antonio Correnti
    www.resetstudio.it

  9. #9
    Visualizzando il sorgente della pagina mi da:

    <script language="javascript"><?php include "include/movcarlist.php"; ?></script>


  10. #10
    Ovvio, come già detto qui

    Io farei così

    carico la pagina php , al suo interno ho
    la pagina devi rinominarla *.php (cioè l'estensione deve essere php e non htm)
    Antonio Correnti
    www.resetstudio.it

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.