me queda un detalle que no entiendo en este codigo, sacado de aqui mismo y funcionando desdehace ya bastante tiempo. pongo la parte importante del codigo que muestra los resultados depilacion.php
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.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> </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
?>
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);
}
?>
de verdad que no veo el error, alguien lo ve?