Comunidad de diseño web y desarrollo en internet online

Optimizar Codigo

Citar            
MensajeEscrito el 19 May 2011 05:23 pm
Saludos... (...)

como puedo optimizar este código!

Código PHP :

         <?php 
         $registro=mysql_fetch_assoc($consulta);
         $imagen = mysql_result($consulta,0,"archivo_binario");
         $img = imagecreatefromstring($imagen);
         $new_x = imagesx($img);
         $new_y = imagesy($img);            
            if($new_x > $new_y){echo "<img  style=\"width:331px;height:220px;\" src=\"ver.php?id=".$registro['id']."\">";}
            else{echo "<img style=\"width:120px;height:331px;\" src=\"ver.php?id=".$registro['id']."\">";}       
         ?>   
         <?php 
         $registro=mysql_fetch_assoc($consulta);
         $imagen = mysql_result($consulta,1,"archivo_binario");
         $img = imagecreatefromstring($imagen);
         $new_x = imagesx($img);
         $new_y = imagesy($img);            
            if($new_x > $new_y){echo "<img  style=\"width:331px;height:220px;\" src=\"ver.php?id=".$registro['id']."\">";}
            else{echo "<img style=\"width:120px;height:331px;\" src=\"ver.php?id=".$registro['id']."\">";}       
         ?>   
         <?php 
         $registro=mysql_fetch_assoc($consulta);
         $imagen = mysql_result($consulta,2,"archivo_binario");
         $img = imagecreatefromstring($imagen);
         $new_x = imagesx($img);
         $new_y = imagesy($img);            
            if($new_x > $new_y){echo "<img  style=\"width:331px;height:220px;\" src=\"ver.php?id=".$registro['id']."\">";}
            else{echo "<img style=\"width:120px;height:331px;\" src=\"ver.php?id=".$registro['id']."\">";}       
         ?>


en este caso tengo 3 imagenes pero si deseo tener 1000 seria un codigo muy largo como puedo hacerlo mas optimo... como seria con un FOR?

soy nuevo en PHP...

GRACIAS POR la Colaboracion

Por eduin137

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 May 2011 05:44 pm
Por lo que se puede deducir del código tienes almacenada la imagen en la propia tabla de la base de datos. Mal hecho. Deberías almacenar solo el nombre del archivo y luego el archivo de imagen guardarlo en algún directorio del hosting especialmente creado para ello.

Pero, como no dices qué contiene la variable $consulta es difícil saber exactamente lo que haces.

Da la impresión que un FOR sí es lo ideal pero no hay ninguna indicación de cuál sería la condición de fin del ciclo.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 19 May 2011 06:04 pm
Las imágenes son guardadas en forma Binaria en la BD REFERENCIA

http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/

Código PHP :

    $sql = "SELECT  *FROM archivos ORDER BY id DESC";
    $consulta = mysql_query($sql) or die ("No se pudo ejecutar la consulta");

Por eduin137

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 May 2011 10:23 pm
Pues si quieres optimizar, lo primero que debes hacer es olvidarte de ese tutorial.
No por que sea un tutorial significa que es bueno.

Es un error muy grave guardar archivos en la base de datos puesto que en menos tiempo del que imaginas, las solicitudes al servidor serán eternas. En otras palabras LENTITUD.

Puedes comenzar viendo un tutorial de como guardar archivos en el servidor, y en la base de datos solo guardas el URL de donde subiste tu archivo Ej,. www.tudominio.com/uploads/tuarchivo.xxx

y respecto a no repetir tantas veces el mismo codigo, puedes buscar algun tutorial acerca de LOOPS (Bucles)

En PHP tienes, el FOR, FOREACH y WHILE.

Saludos

Por jOina

Claber

359 de clabLevel

2 tutoriales

 

Guadalajara, Mexico

firefox
Citar            
MensajeEscrito el 20 May 2011 02:10 pm
Como dice jOina, que lo diga un tutorial no significa que sea lo óptimo.

Insisto con mi pregunta, no se sabe viendo el código cuál sería la condición de fin del bucle. Supongamos que cambias la constante que es la única que varía entre una parte del código y la otra por una variable índice que comienza en 0, y termina en... ¿qué valor?.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.