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

    SQL>PHP>FLASH CIRCA 20 sec

    Ciao esperti...
    ho un problema...da appassionato del web ho creato un sito in flash che richiama dei dati su un sql via php...il mio problema è che ci mette circa un minuto a darmi la risposta.

    Esempio:
    SQL: 1 tabella con 4 campi: sectionID(autoincrementante), sectionTitle, sectionText, sectionImage.

    Php di richiamo:
    Codice PHP:
    <?

    include("includes/common.php");

    $db = mysql_connect($db_host, $db_user, $db_password);

    mysql_select_db($db_name, $db);

    $theRow=$_POST['row'];

    $query="SELECT * FROM regali WHERE sectionID=$theRow LIMIT 1";

    $result=mysql_query($query);

    $row=mysql_fetch_array($result);

    $theText=$row['sectionText'];

    $theImage=$row['sectionImage'];

    echo "&theText=$theText&theImage=$theImage";

    ?>
    ***********
    La mia pagina flash di test ha un bottone per richiamare il tutto, un box di testo istanziato come data_txt e un clip vuoto chiamato imageHolder_mc

    Questo è l'actionScript della mia pagina flash chiamante:
    Codice:
    myLoadVars = new LoadVars();
    myLoadVars.onLoad = function(ok) {
    if (ok) {
    data_txt.text = this.theText;
    imageHolder_mc.loadMovie('images/'+this.theImage);


    } else {
    data_txt.text = 'Error';
    }
    };
    function loadData(sectionID) {
    myLoadVars.row = sectionID;
    myLoadVars.sendAndLoad("returnData.php",myLoadVars ,'POST');
    }

    home_btn.onRelease = function() {
    loadData(1);
    }
    AIUTATEMI, IL DATABASE MI FA COMPARIRE L'IMMAGINE CHE PESA 80KB E IL TESTO IN 20 SECONDI CRONOMETRATI...SONO UN TANTINO TTTRRRROOOOPPPIIIII

    NON CAPISCO SE HO SBAGLIATO IO A CONFIGURARE QUALCOSA...O SE è PROPRIO COSI LA VELOCITA' DI RISPOSTA IN SQL....HELP

  2. #2
    Hai provato a testare il tempo di esecuzione del solo script PHP????
    Io farei così:

    Codice PHP:
    <?php
    $t1 
    time();
    // qui il tuo script
    include("includes/common.php"); 
    $db mysql_connect($db_host$db_user$db_password);
    mysql_select_db($db_name$db);
    $theRow=$_POST['row'];
    $query "SELECT * FROM regali WHERE sectionID=$theRow LIMIT 1";
    $result=mysql_query($query);
    $row=mysql_fetch_array($result);
    $theText=$row['sectionText'];
    $theImage=$row['sectionImage'];
    echo 
    "&theText=$theText&theImage=$theImage";
    // fine del tuo script
    $t $t2 time();

    echo 
    "Tempo di esecuzione dello script: $t secondi";
    ?>
    Richiama questo script non da Flash, ma direttamente dal server Apache e vedi quanto tempo ci mette.
    Se l'esecuzione è lenta anche in questo caso, allora si può giocare sull'ottimizzazione del DB e della query, altrimenti il problema è nell'ottimizzazione del file di Flash.

    Ad ogni modo, per snellire la query, ti sconsiglio subito l'utilizzo di SELECT *, in favore dei nomi delle sole colonne di cui vuoi sapere il valore.
    Codice PHP:
    $query "SELECT sectionText, sectionImage FROM regali WHERE sectionID=$theRow LIMIT 1"
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Ah... solo un'altra domanda: nel DB l'immagine è presente in un campo BLOB (e quindi è i formato binario), oppure salvi solamente il nome dell'immagine a prescindere dal suo percorso fisico in una delle cartelle del server??

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    Ciao e grazie per avermi risposto...
    Lo script php mi da un tempo di esecuzione di 0,1 sec...possibile che flash ci metta così tanto?

    Lo script è molto più grande di quello che ho postato, ma in questo test, viene inserita l'immagine manuelmente in una cartella images sul server web...(nell'originale viene fatto un'upload dinamico)...non riesco a capire perchè flash ci metta così tanto...che dici? se vuoi ti do un link per vedere il bottone in caricamento e magari tu da più esperto mi sai dire dove sbaglio...grazie

  5. #5
    Immaginavo che il problema fosse Flash.
    Questo perché conosco il programma (anche se sono uno che lo utilizza davvero poco) e so benissimo come funziona.
    Probabilmente, visto che il SWF viene scaricato completamente nella cache del browser, è da ottimizzare il codice del SWF, in quanto troppo pesante da gestire in tempi di esecuzione ottimali.
    Prova magari ad eseguire dei pre-loader parziali delle varie aree di cui è composta l'interfaccia grafica, per far capire ai tuoi utenti che una zona del sito è in via di visualizzazione.
    Prova magari ad importare SWF differenti (e che quindi contengono solo piccole porzioni del tuo codice complessivo) in un SWF globale che ti funziona da contenitore, in modo che venga caricato di volta in volta solo lo stretto necessario.

    Non so cos'altro suggerirti: prova a postare nel forum di Flash.
    Lì si che ci sono persone che possono darti una mano importante per migliorare il tuo script.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.