Accesso e recupero informazioni su db mysql e 2 tabelle. Php lento nell'esecuzione.

alex78red

Nuovo Utente
24 Lug 2011
3
0
1
Ciao a tutti,
sicuramente sbaglio qualche cosa.

Quando apro questa pagina l'esecuzione richiede in media 10 secondi.


Qualcuno mi può dare una mano?

Codice:
<?php
// CREATO DA ALEX78RED DI GIANI ALESSANDRO

// PARAMETRI DATABASE
$idauto = $_GET["detid"];
$DBhost = "127.0.0.1";
$DBuser = "XXX";
$DBpass = "XXX";
$DBName = "XXX";
$table = "auto";
$table2 = "auto_images";

// CONNESSIONE DATABASE
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName"); 

// PRIMA QUERY DA TABELLA AUTO CON FILTRO SU ID RILEVATO DA PAGINA PRECEDENTE E SETTAGGIO VARIABILI
$sqlquery = "SELECT * FROM $table WHERE id = $idauto";
$result = mysql_query($sqlquery);

//PER AUTO TROVATA ESEGUO PASSAGGI
while ($myrow = mysql_fetch_row($result))	{ 
echo '<table width="600" border="0"><tr><td width="600"><a href="http://localhost/targamonza/index.php?option=com_content&view=article&id=75&Itemid=117&detid='.$myrow[0].'">'.$myrow[3].'</a> <em>'.$myrow[4].' '.$myrow[5].'<br/> Immatricolazione: '.$myrow[27].' - Km: '.$myrow[28].'<br/> Kw: '.$myrow[8].' - cc: '.$myrow[9].'<br/> Euro: '.$myrow[45].'</td></tr></table>';
$tempcarid = $myrow[0];
$tempmarcacar = $myrow[3];
$tempmodelcar = $myrow[4];
$testounito = $tempmarcacar. " " .$tempmodelcar;
$tempoption = $myrow[46];
											}  
	
// SECONDA QUERY DA TABELLA IMMAGINI AUTO CON FILTRO SU ID RILEVATO DA QUERY PRECEDENTE E SETTAGGIO VARIABILI
$sqlquery2 = "SELECT * FROM $table2 WHERE id_auto = $tempcarid";
$result2 = mysql_query($sqlquery2);
$idauto = mysql_result($result2,"id_auto");
$small = mysql_result($result2,"small");
$large = mysql_result($result2,"large");

//PER OGNI IMMAGINE TROVATA CON STESSO ID ESEGUO PASSAGGI
while ($myrow2 = mysql_fetch_row($result2))	{
											
// SETTO VARIABILI CON DIMENSIONI THUMBNAIL
list($width, $height) = getimagesize($myrow2[1]);
											
// CREO STRINGA DI VISUALIZZAZIONE CON PLUGIN ROKBOX
echo '{rokbox title=|'.$testounito.' :: '.$tempoption.'| album=|auto| thumb=|'.$myrow2[1].'| thumbsize=|'.$width.' '.$height.'|}'.$myrow2[3].'{/rokbox}';
											}
?>


Grazie mille per l'aiuto.
 
Ultima modifica:
Non vedo errori sul tuo codice, la lentezza dello script può essere dovuta al db...

Dove riscontri questo problema ? In locale o in remoto ?

Tutto in locale.

Ho risolto.

Il problema non era nello script bensì nel plugin rokbox che uso per visualizzare le immagini. Mi è bastato disattivare un opzione in questo plugin ed ora funziona tutto perfettamente. Grazie per l'attenzione.
 
effettua un controllo su:
PHP:
$idauto = $_GET["detid"];
passarlo così direattamente da GET a db non è molto sicuro.
 
effettua un controllo su:
PHP:
$idauto = $_GET["detid"];
passarlo così direattamente da GET a db non è molto sicuro.



Ciao,

ho risolto ma ti ringrazio per l'intervento.

Io da GET passo il valore ad una variabile temporanea che uso per filtrare i dati tramite select sul db.

Hai un altra soluzione/consiglio?

Grazie
 
visto che si tratta di un id sarà sicuramente un valore numerico:
PHP:
if(is_numeric($_GET["detid"]))
{
$idauto = $_GET["detid"];
}else{
echo "Parametro non valido";
exit();
}
 

Discussioni simili