Foros del Web » Programando para Internet » PHP »

Problemas con mi catalogo

Estas en el tema de Problemas con mi catalogo en el foro de PHP en Foros del Web. Estimados compañeros, les escribo porque no sé como solucionar el error que tengo cuando hago mi catálogo. La custión es que quiero paginar con 10 ...
  #1 (permalink)  
Antiguo 09/11/2008, 03:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 12
Antigüedad: 16 años
Puntos: 0
Problemas con mi catalogo

Estimados compañeros, les escribo porque no sé como solucionar el error que tengo cuando hago mi catálogo.

La custión es que quiero paginar con 10 registros en cada página, pero cuando llego a la última página, si ésta sólo tiene 2 registros, me los muestra, pero también los restantes hasta cumplimentar los 10 registros, claro esta que con el tipo recuadrito con una "x" en rojo. Las primeras páginas me las muestra bien, es sólo cuando llego al final.

Muchas gracias por vuestra atención.

el código que utilizo es:

<html>
<head>
<title>CATÁLOGO</title>
</head>
<body>
<?php
$bd=mysql_connect("","","") or die ("PROBLEMAS EN LA CONEXIÓN CON LA BASE DE DATOS");
mysql_select_db("juanpergon");
?>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="50%" id="AutoNumber1" height="150">
<tr>
<td width="100%" colspan="5" height="15" bgcolor="#C0C0C0">
<p align="center"><u><b><font size="2">CATÁLOGO</font></b></u></td>
</tr>

<?


$contador=0;
$tamano_pagina=10;
$registros=10;
$pagina=$_GET["pagina"];
if(!$pagina)
{
$inicio=0;
$pagina=1;
}
else
{
$inicio=($pagina-1)*$tamano_pagina;
}

$resultados = mysql_query("SELECT titulo,foto1 FROM productos");
$total_registros = mysql_num_rows($resultados);
$resultados = mysql_query("SELECT titulo,foto1,fecha FROM productos ORDER BY fecha DESC LIMIT $inicio, $registros");
$total_paginas = ceil($total_registros / $registros);


echo "Número de registros encontrados: ".$total_registros."<br>";
echo "Se muestran paginas de ".$tamano_pagina." registros cada una<br>";
echo "Mostrando la página ".$pagina. " de ".$total_paginas."<p>";

for($i=0;$i<=$registros;$i++)
{
++$contador;
if($contador<=5)
{
$row=mysql_fetch_array($resultados);
echo '<td>';
echo '<p align="center"><img src="'.$row["foto1"].'"></p>';
echo '<br>';
echo '<p align="center">'.$row["titulo"].'</p>';
echo '</td>';
}
if($contador>5)
{
echo '<tr>';
$contador=0;
}
}

if($total_paginas>1)
{
for($i=1;$i<=$total_paginas;$i++)
{
if($pagina==$i)
echo $pagina."";
else
echo "<a href='catalogo.php?pagina=".$i."'>".$i."</a>";
}
}
?>


</table>
</body>
</html>
  #2 (permalink)  
Antiguo 09/11/2008, 03:58
 
Fecha de Ingreso: enero-2002
Mensajes: 132
Antigüedad: 22 años, 3 meses
Puntos: 1
Respuesta: Problemas con mi catalogo

Prueba a sustituir esto
$row=mysql_fetch_array($resultados);
por esto otro...

if($row=mysql_fetch_array($resultados))
{

todo el bloque html y cierras al final el if


}


Quedaría así...

Código PHP:
if($row=mysql_fetch_array($resultados))
{
echo 
'<td>';
echo 
'<p align="center"><img src="'.$row["foto1"].'"></p>';
echo 
'<br>';
echo 
'<p align="center">'.$row["titulo"].'</p>';
echo 
'</td>';
}

Este otro bloque
Código PHP:
if($contador>5)
{
echo 
'<tr>';
$contador=0;

__________________
Un saludo, esperando ser de ayuda...
COMUN :stress:

Diseño y Programación
Tierra de Califas
http://www.tecnocodigo.com/dipro/
  #3 (permalink)  
Antiguo 09/11/2008, 04:35
 
Fecha de Ingreso: mayo-2008
Mensajes: 12
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas con mi catalogo

Muchísimas gracias COMUN, perfecto sale ahoraaaaaaaaa......

Me podrías explicar porqué pasaba esto?????

Muchas gracias tio........
  #4 (permalink)  
Antiguo 09/11/2008, 04:42
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problemas con mi catalogo

Hola

por que en esta parte del codigo

$resultados = mysql_query("SELECT titulo,foto1 FROM productos");
$total_registros = mysql_num_rows($resultados);

Si hay 10 resultados, en tu bucle for te intentara mostrar siempre 10, aunque no los haya.

Y al poner el condicional que te dijo comun, lo condicionas al total de resoltados que haya.

Un saludo
  #5 (permalink)  
Antiguo 09/11/2008, 05:52
 
Fecha de Ingreso: mayo-2008
Mensajes: 12
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas con mi catalogo

Muchas gracias por tu contestación Jaronu.
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 00:43.