- Home
- Categorie
- Coding e Sistemistica
- PHP
- flash>php>sql come velocizzare???
-
flash>php>sql come velocizzare???
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:
[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";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
$theText=$row['sectionText'];
$theImage=$row['sectionImage'];
echo "&theText=$theText&theImage=$theImage";
?>[/php]
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:
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:x
-
Ciao ilviolatore,
Tanto per cominciare il codice php, puoi sostituirlo con questo:
[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";
?>
[/php]
In ogni caso per sapere perchè impiega cosi tanto tempo a generarsi, dovresti stamparti il tempo necessario per la generazione dell'esecuzione della query (Dal phpmyadmin effettuando la query te lo dice quanto impiega, il resto del codice non dovrebbe richiedere molto in questo caso).
-
Scusa la mia ignoranza, come faccio a vedere il tempo in sql-->io sono appoggiato a un server che mi ha attivato l'sql e mi ha fornito un pannellino dove posso solo inserire le tabelle...consultingweb non so se conosci?
-
Allora puoi fare cosi per sapere quanto impiega:
[php]<?
function Tempo()
{
$tempo = microtime();
$tempo = explode(' ', $tempo);
$tempo[0] = floatval($tempo[0]);
$tempo[1] = floatval($tempo[1]);
return ($tempo[0] + $tempo[1]);
}
$start = Tempo();
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);
echo substr(Tempo()-$start, 0, 5);
$row=mysql_fetch_array($result);$theText=$row['sectionText'];
$theImage=$row['sectionImage'];
echo "&theText=$theText&theImage=$theImage";
?>
[/php]
-
Ora provo.
-
QUESTO E' QUELLO CHE MI VIENE SCRITTO:
0.131&theText=&theImage=
che mi dici???
-
Come puoi vedere la query impiega 0,1 secondi.
Tu i 20 secondi come li hai cronometrati?
-
Ho pubblicato il mio swf, l'ho caricato in una sottocartella di prova nell'ftp e ho digitato nel browser l'indirizzo.
Mi si apre la pagina con il mio bottone, clicco e inizio a contare...passano circa (dipende) dai 10 secondi in su per visualizzare la foto e il testo di prova...
Com'è possibile?
-
ho pubblicato il mio swf, l'ho caricato in una sottocartella di prova nell'ftp e ho digitato nel browser l'indirizzo.
mi si apre la pagina con il mio bottone, clicco e inizio a contare...passano circa (dipende) dai 10 secondi in su per visualizzare la foto e il testo di prova...
Com'è possibile?
-
Tutto quello che posso dirti è che non dipende da php.
Devi comunque tenere in considerazione vari parametri, come ad esempio la latenza, ed il tempo che impieghi a visualizzare l'immagine di 80kb sul tuo hosting.
Francamente 10secondi mi sembrano troppi, magari fai provare pure qualche amico per vedere se anche da lui va cosi lento (Se vuoi puoi anche mandarmi il link al file swf a me in privato e ti dico io).Stai attento ad iniziare con una maiuscola ed a terminare con un punto nei messaggi.
-
Ricevuto il link, da me impiega circa 5 secondi.
Come funziona il caricamento delle immagini con flash non lo sò, magari prova a togliere l'immagine e metti che compare solamente del testo per vedere se i tempi rimangono ugualmente lunghi, comunque credo dovrai aspettare qualche utente che usa interazioni php-flash che sicuramente saprà aiutarti più di me.
-
Scusa se ti disturbo ancora, posso mandarti la capture della composizione della tabella in sql, magari ho sbagliato li qualcosa...solo che non capisco come si allega un'immagine...
-
La query impiega solo 0,1 secondi quindi il problema non dovrebbe essere assolutamente lato server.
-
Ti ho messo al posto dell'immagine di prima nel collegamento, lo screen della mia tabella sql, è giusta secondo te?.