Foros del Web » Programando para Internet » PHP »

Problema con paginacion

Estas en el tema de Problema con paginacion en el foro de PHP en Foros del Web. Hola foreros he seguido un video tutorial para paginar, pero me ha dado un problema y es que en la parte de abajo cunado tiene ...
  #1 (permalink)  
Antiguo 18/10/2010, 19:55
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 8 meses
Puntos: 52
Problema con paginacion

Hola foreros he seguido un video tutorial para paginar, pero me ha dado un problema y es que en la parte de abajo cunado tiene que motrar el numero de paginas me muestra todo.

Código:
<?php 
	$conn = mysql_connect("localhost","root","root") or die(mysql_error());
	mysql_select_db("bd_egresados",$conn) or die(mysql_error());
	
	$rst_productos=mysql_query("SELECT * FROM tb_municipios ORDER BY opcion",$conn);	
	$num_registros=mysql_num_rows($rst_productos);
	
	if($num_registros==0){
		echo "No hay productos para mostrar";
		mysql_close($conn);
		exit();
	}
	
	$registros=5;
	$pagina=$_GET['num'];
	if(is_numeric($pagina)){
		$inicio=(($pagina-1)*$registros);
	}else{
		$inicio=0;
	}
	$rst_productos=mysql_query("SELECT * FROM tb_municipios ORDER BY opcion LIMIT $inicio,$registros",$conn); 
	$paginas=ceil($num_registros/$registros);
?>

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<title>Paginacion</title>
</head>

<body>
<table width="50%" border="1" align="center">
  <tr align="center" valign="middle">
    <td><strong>Codigo</strong></td>
    <td><strong>Nombre</strong></td>
    <td><strong>Relacion</strong></td>
  </tr>
  <?php 
  	while($fila=mysql_fetch_array($rst_productos)){
  ?>
  <tr align="center" valign="middle">
    <td><?php echo $fila['id']; ?></td>
    <td><?php echo $fila['opcion']; ?></td>
    <td><?php echo $fila['relacion']; ?></td>
  </tr>
  <?php } ?>
</table>
<?php 
	if($pagina>1)
	echo "<a href='paginacion.php?num=" .($pagina-1). "'>Anterior</a> ";
	for($cont=1; $cont<=$paginas; $cont++){
		if($cont==$pagina)
			echo $cont ." ";
		else
			echo "<a href='paginacion.php?num=" .$cont. "'> $cont</a> ";
	}
	if($pagina<$paginas)
	echo "<a href='paginacion.php?num=" .($pagina+1). "'>Siguiente</a> ";  
?>
</body>
</html>
He mirado el video muchas veces y no encuentro el problema, pueden ayudarme.
  #2 (permalink)  
Antiguo 19/10/2010, 01:44
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 18 años, 1 mes
Puntos: 32
Respuesta: Problema con paginacion

Hola.

Cuando dice que te muestra todo, a que te refieres ?

Yo haría un echo "SELECT * FROM tb_municipios ORDER BY opcion LIMIT $inicio,$registros" para ver que valores te va metiendo en inicio y registros.
  #3 (permalink)  
Antiguo 19/10/2010, 02:16
 
Fecha de Ingreso: septiembre-2010
Ubicación: http://nomenrecordo.blogspot.com/
Mensajes: 111
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Problema con paginacion

Te recomiendo este script gratuito de paginación que te hace la consulta SQl, te permite ordenar los resultados, decir los resultados por pagina etc...

Tiene ejemplos de como usarlo y tal y es código totalmente libre y editable. Te lo recomiendo.

http://jpinedo.webcindario.com/scripts/paginator/
  #4 (permalink)  
Antiguo 19/10/2010, 11:21
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 8 meses
Puntos: 52
Respuesta: Problema con paginacion

Me refiero a que me muetra todos los links 1 2 3 4 5 6 6 7 8 9 10 11... hasta 290 cuando en realiadad deberia motrarme solo de 1 a 5 en principio.

este es el resultado del echo

Código:
SELECT * FROM tb_municipios ORDER BY opcion LIMIT 0,5
  #5 (permalink)  
Antiguo 19/10/2010, 11:41
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Problema con paginacion

Hola
pregunto algo

$pagina que valor tiene la primera vez
que se ejecuta el script (donde teorizo NO recibe valor de num???
puede ser ese el problema, y si es ese,
entonces basta con hacer un if(!isset($_GET['num'])) por ej
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: paginacion
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 14:10.