Foros del Web » Programando para Internet » PHP »

Problema con miniaturas de imagenes

Estas en el tema de Problema con miniaturas de imagenes en el foro de PHP en Foros del Web. Hola: Tengo una serie de codigos de aqui mismo quizas modificados un poco, que siempre me han funcionado pero ahora no. Pido por favor alguien ...
  #1 (permalink)  
Antiguo 05/10/2006, 10:53
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 4 meses
Puntos: 0
No se muestran las imagenes

Hola:

Tengo una serie de codigos de aqui mismo quizas modificados un poco, que siempre me han funcionado pero ahora no. Pido por favor alguien encuentre algun error porque mi vista ya no da mas...

Tengo una pagina depilacion.php que debe mostrar unas miniaturas con el nombre del producto debajo, en 4 columnas y 2 filas. Muestra el nombre pero no las miniaturas (el server tiene bien las GD)
Código PHP:
<? 
include ("config.php");
   
$sql="SELECT * FROM depilacion"
$result=mysql_query($sql);
$numeroRegistros=mysql_num_rows($result);
 
if(
$numeroRegistros<=0

    
$existeregistro 0
    echo 
"<div align='center'>"
    echo 
"<font face='verdana' class='bottom'>No tenemos actualmente productos en ésta categoría</font>"
    echo 
"</div>"
}else{

    
//////////calculo de elementos necesarios para paginacion 
    //tamaño de la pagina 
    
$existeregistro 1;
    
$tamPag=8;
    
$columnes=4// Numero de columnas (variable) 

    //pagina actual si no esta definida y limites 
    
if(!isset($_GET["pagina"])) 
    { 
       
$pagina=1
       
$inicio=1
       
$final=$tamPag
    }else{ 
       
$pagina $_GET["pagina"]; 
    } 
    
//calculo del limite inferior 
    
$limitInf=($pagina-1)*$tamPag

    
//calculo del numero de paginas 
    
$numPags=ceil($numeroRegistros/$tamPag); 
    if(!isset(
$pagina)) 
    { 
       
$pagina=1
       
$inicio=1
       
$final=$tamPag
    }else{ 
       
$seccionActual=intval(($pagina-1)/$tamPag); 
       
$inicio=($seccionActual*$tamPag)+1
       if(
$pagina<$numPags
       { 
          
$final=$inicio+$tamPag-1
       }else{ 
          
$final=$numPags
       } 
       if (
$final>$numPags){ 
          
$final=$numPags
       } 
    }
    } 
//////////fin de dicho calculo
mysql_free_result($result); 
?>
<?
//////////creacion de la consulta con limites 
$sql2="SELECT * FROM depilacion ORDER BY nombre LIMIT ".$limitInf.",".$tamPag
$result2=mysql_query($sql2); 
//////////fin consulta con limites

 
if ($existeregistro ==1)
 { 
echo 
"<table align=center border=0 cellpadding=0 width=471>"

for (
$i=1$row mysql_fetch_array ($result2); $i++) { 
$resto = ($i $columnes); # Numero de celda del <tr> en que nos encontramos 
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr>
echo "<td valign=bottom><div align=center><a href='detalles_depilacion.php?id=$row[id]'><img src=\"thumbs_depilacion.php?id=$row[id]\" border=0></a><br>";
echo 
"<font face='verdana' class='bottom'>".$row[nombre]."</font><br><br><br>";
if (
$resto == 0) {echo "</tr>";} # Si es la ultima celda, cerramos </tr> 

if (
$resto <> 0) { # Si el resultado no es multiple de $columnes acabamos de rellenar los huecos 
$ajust $columnes $resto# Numero de huecos necesarios 
for ($j 0$j $ajust$j++) {echo "<td>&nbsp;</td>";} 
echo 
"</tr>"# Cerramos la ultima linea </tr> 

echo 
"</table><br><br>"
}

//mysql_free_result($result2);

//////////a partir de aqui viene la paginacion
    
if($pagina>1
    { 
       echo 
"<a href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."'>"
       echo 
"<font face='verdana'>Anterior</font>"
       echo 
"</a> ";
    } 

    for(
$i=$inicio;$i<=$final;$i++) 
    { 
       if(
$i==$pagina
       { 
          echo 
"<font face='verdana'><b>".$i."</b> </font>"

       }else{ 
          echo 
"<a href='".$_SERVER["PHP_SELF"]."?pagina=".$i."'>"
          echo 
"<font face='verdana'>".$i."</font></a> "
       } 
    } 
    if(
$pagina<$numPags
   { 
       echo 
" <a href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."'>"
       echo 
"<font face='verdana'>Siguiente</font></a>"
   } 
//////////fin de la paginacion
?>
Este es thumbs_depilacion.php para generar las miniaturas
Código PHP:
<?php  

if(isset($_GET['id'])) { 

include (
"config.php");
 
    
$sql "SELECT archivo_binario,archivo_tipo,archivo_nombre FROM depilacion WHERE id='".$_GET['id']."'"
    
$consulta mysql_query($sql,$conexion); 
    
$imagen mysql_result($consulta,0,"archivo_binario");
    
$type mysql_result($consulta,0,"archivo_tipo"); 

    
// Envio cabeceras al navegador 
    
Header ("Content-type: $type"); 

    
// Generar el thumbnail: 

    // Se crea la imagen desde el campo binario de la BD 
    
$img imagecreatefromstring($imagen); 

    
// Tamaño del Thumbnail 
    
$picsize 100
     
    
// Se obtienen los datos del ancho y alto de la imagen. 
    
$new_w imagesx($img); 
    
$new_h imagesy($img); 

    
// Se calcula la relación alto/ancho 
    
$aspect_ratio $new_h $new_w
     
    
// Se ajusta al nuevo tamaño 
    
$new_w $picsize
    
$new_h abs($new_w $aspect_ratio); 

    
// Se crea la mascara de la imagen nueva 
    
$dst_img ImageCreateTrueColor($new_w,$new_h); 

    
// Se copia y reajusta el nuevo tamaño en la nueva imagen. 
     
imagecopyresampled($dst_img,$img,0,0,0,0,$new_w,$new_h,imagesx($img),imagesy($img)); 

    
// Se entrega al buffer de salida (navegador en este caso) la imagen en formato JPEG 
    // El tercer parámetro (100) indica la calidad de la imagen: en porcentaje relación calidad/peso imagen. 
    
imagejpeg($dst_img,'',100); 


?>
Esta es detalles_depilacion.php donde, al hacer click en la miniatura, debe mostrar la imagen algo mas grande con descripcion adicional
Código PHP:
<? 
include ("config.php");

if (isset(
$_POST['id'])){   
$sSQL="SELECT * FROM depilacion WHERE ref='".$_POST['id']."'"
$result=mysql_query($sSQL); 
$row=mysql_fetch_array($result); 
}

echo 
"<td valign=top><div align=center><img src=\"big_depilacion.php?id=$row[id]\" border=0></a><br>";
echo 
"<font face='verdana' class='bottom'>".$row[descripcion]."<br><br><br>";

?>
Esta es big_depilacion.php, la misma para las miniaturas pero un poco mas grande para la pagina de detalles
Código PHP:
<?php  

if(isset($_GET['id'])) { 

include (
"config.php");
 
    
$sql "SELECT archivo_binario,archivo_tipo,archivo_nombre FROM depilacion WHERE id='".$_GET['id']."'"
    
$consulta mysql_query($sql,$conexion); 
    
$imagen mysql_result($consulta,0,"archivo_binario");
    
$type mysql_result($consulta,0,"archivo_tipo"); 

    
// Envio cabeceras al navegador 
    
Header ("Content-type: $type"); 

    
// Generar el thumbnail: 

    // Se crea la imagen desde el campo binario de la BD 
    
$img imagecreatefromstring($imagen); 

    
// Tamaño del Thumbnail 
    
$picsize 300
     
    
// Se obtienen los datos del ancho y alto de la imagen. 
    
$new_w imagesx($img); 
    
$new_h imagesy($img); 

    
// Se calcula la relación alto/ancho 
    
$aspect_ratio $new_h $new_w
     
    
// Se ajusta al nuevo tamaño 
    
$new_w $picsize
    
$new_h abs($new_w $aspect_ratio); 

    
// Se crea la mascara de la imagen nueva 
    
$dst_img ImageCreateTrueColor($new_w,$new_h); 

    
// Se copia y reajusta el nuevo tamaño en la nueva imagen. 
     
imagecopyresampled($dst_img,$img,0,0,0,0,$new_w,$new_h,imagesx($img),imagesy($img)); 

    
// Se entrega al buffer de salida (navegador en este caso) la imagen en formato JPEG 
    // El tercer parámetro (100) indica la calidad de la imagen: en porcentaje relación calidad/peso imagen. 
    
imagejpeg($dst_img,'',100); 


?>
Alguien ve algun error que impida me muestre las imagenes? me sale el famoso cuadrito con la X sobre el nombre del producto y, al clickear para ver mas grande y texto detallado, no muestra ni la mini ni el texto del campo descripcion

Última edición por iarrieta; 08/10/2006 a las 17:23
  #2 (permalink)  
Antiguo 08/10/2006, 16:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Por favor, no repitas tus preguntas, insiste en tus temas abiertos!.

Mensajes unidos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 08/10/2006, 17:00
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 4 meses
Puntos: 0
Disculpa Cluster... gracias!
  #4 (permalink)  
Antiguo 09/10/2006, 14:34
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 4 meses
Puntos: 0
sigo sin solucion, alguna ayuda? Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:20.