Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Paginación en PHP

Estas en el tema de Paginación en PHP en el foro de PHP en Foros del Web. Hola amigos, necesito de su ayuda, he intentado crear una paginación en la siguiente función pero al momento que la llamo en el index no ...
  #1 (permalink)  
Antiguo 07/04/2014, 00:27
 
Fecha de Ingreso: octubre-2013
Ubicación: Loreto, Zacatecas
Mensajes: 24
Antigüedad: 10 años, 6 meses
Puntos: 0
Pregunta Paginación en PHP

Hola amigos, necesito de su ayuda, he intentado crear una paginación en la siguiente función pero al momento que la llamo en el index no me muestra nada de datos, les agradecería mucho si me dieran una idea de como hacerlo o si alguien me podria ayudar a realizarlo, muchas gracias.

Código PHP:
function listar(){

$sql="SELECT idUsuario, NombreTipoCliente, NombreUsuario, NombreReal, 
Apellidos, Nacimiento, Sexo, Estado, Municipio, Direccion, Correo, Telefono,
 Contrasenia, FechaRegistro FROM catalogo_usuario INNER JOIN usuario ON
 idCatalogoUsuario = fk_idCatalogoUsuario"
;
$rs=mysqli_query($this->conn$sql);
$i=0;
if(
mysqli_num_rows($rs)<1){
echo 
"No hay clientes registrados";
}else{
echo 
"<table border='0' align='center' class='flat-table flat-table-1'>";
echo 
"<thead>
<th>Permisos</th>
<th>Usuario</th>
<th>Nombre</th>
<th>Sexo</th>
<th>Estado</th>
<th>Municipio</th>
<th>Dirección</th>
<th>Telefono</th>
<th>Modificar</th>
<th>Eliminar</th>
</thead>"
;
while (
$row mysqli_fetch_array($rs)){
echo 
"<td align='center'>".$row["NombreTipoCliente"]."</td>";
echo 
"<td align='center'>".$row["NombreUsuario"]."</td>";
echo 
"<td align='center'>".$row["NombreReal"]."</td>";
echo 
"<td align='center'>".$row["Sexo"]."</td>";
echo 
"<td align='center'>".$row["Estado"]."</td>";
echo 
"<td align='center'>".$row["Municipio"]."</td>";
echo 
"<td align='center'>".$row["Direccion"]."</td>";
echo 
"<td align='center'>".$row["Telefono"]."</td>";

echo 
'<td align="center">
<a class="fancybox fancybox.iframe" href="../fancy/mod_usuario.php?
id='
.$row["idUsuario"].'&nombretipocliente='.$row["NombreTipoCliente"].'&nombre
usuario='
.$row["NombreUsuario"].'&nombrereal='.$row["NombreReal"].
'&apellidos='.$row["Apellidos"].'&nacimiento='.$row["Nacimiento"].'&sexo='.$row["Sexo"].
'&estado='.$row["Estado"].'&municipio='.$row["Municipio"].'&direccion='.$row["Direccion"].
'&correo='.$row["Correo"].'&telefono='.$row["Telefono"].
'&contrasenia='.$row["Contrasenia"].'&fecharegistro='.$row["FechaRegistro"].
'" >Editar</a></td>';
echo 
"<td><a href='../control/controlador_usuario.php?eliminar=si&codigo=".$row["idUsuario"]."'>Eliminar</a></td></tr>";
$i++;
}
}
echo 
"</table>";

  #2 (permalink)  
Antiguo 07/04/2014, 02:31
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 244
Antigüedad: 13 años, 7 meses
Puntos: 20
Respuesta: Paginación en PHP

Busca php paginación simple por google. No es muy complicado.

Saludos.
  #3 (permalink)  
Antiguo 07/04/2014, 10:22
 
Fecha de Ingreso: noviembre-2013
Ubicación: Tangamandapio
Mensajes: 13
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Paginación en PHP

Mira amigo, yo uso dreamweaver y este te da una opción a insertar una paginación muy facil pero a su vez es simple.... (último, anterior - siguiente- último)
es asi :

Código:
<?php

$currentPage = $_SERVER["PHP_SELF"];

$maxRows_Recordset1 = 50;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
  $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;

AKI PONES LA CONSULTA A LA TABLA DE TU BASE DE DATOS!!!!!!!!!!!!!!


if (isset($_GET['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
  $all_Recordset1 = mysql_query($query_Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;

$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false && 
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);

?>

TODO ESO LO PONES ANTES DE TODO, osea en mi caso, antes del HTML

luego donde quieres que valla tu paginación escribes esto... cambiando las variables por las tuyas.....


Código:
<?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
            <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, 0, $queryString_Recordset1); ?>">Primero</a>
            <?php } // Show if not first page ?>
            
            <?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
            <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, max(0, $pageNum_Recordset1 - 1), $queryString_Recordset1); ?>">Anterior</a>
            <?php } // Show if not first page ?>
            
            <?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
            <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $pageNum_Recordset1 + 1), $queryString_Recordset1); ?>">Siguiente</a>
            <?php } // Show if not last page ?>
            
            <?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
            <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, $totalPages_Recordset1, $queryString_Recordset1); ?>">&Uacute;ltimo</a>
            <?php } // Show if not last page ?>
  #4 (permalink)  
Antiguo 07/04/2014, 11:27
 
Fecha de Ingreso: octubre-2013
Ubicación: Loreto, Zacatecas
Mensajes: 24
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Paginación en PHP

Gracias amigos, estoy implementando ya una paginacion que encontre en un sitio web, el problema es que aun no logro que me funcione del todo bien, tengo un problema con este for:

Código PHP:
for ($i $pagina$i < = $total_paginas && $i<=($pagina $links); $i++) {
      if (
$i == $pagina) echo "<strong>$i - </strong>";//no se imprimen en el enlace
      
else echo "</a><a title='pagina $i' href='?p=$i'>$i</a> - ";//link

tengo todo mi codigo de la siguiente manera, si alguien me puede ayudar con el error que me muestra se lo agradeceria mucho, este es el error:
Parse error: syntax error, unexpected '=' in C:\xampp\htdocs\Desarrollo\administrador\modelo\mo delo_usuario.php on line 89

Código PHP:
//---------------------------------------------------------------------------------------------------------------------------
function listar(){
$numero="SELECT count(idUsuario) FROM usuario";//contamos
$conteo=mysqli_fetch_assoc($this->conn, ($numero));
$total_conteo$conteo['Total'];//aqui ya tenemos el total de los registros
$resultados_pagina5;// numero de resultados por pagina
$total_paginasceil($total_conteo/$resultados_pagina);
$paginaintval($_GET['p']);//pagina actual
if ($pagina || $pagina $total_paginas$pagina=1;
$pos=($pagina 1) * $resultados_pagina;//posicion
$limite"LIMIT $pos, $resultados_pagina";//fin de la configuracion de la paginacion

$sql="SELECT idUsuario, NombreTipoCliente, NombreUsuario, NombreReal, Apellidos, Nacimiento, Sexo, Estado, Municipio, Direccion, Correo, Telefono, Contrasenia, FechaRegistro FROM catalogo_usuario INNER JOIN usuario ON idCatalogoUsuario = fk_idCatalogoUsuario $limite";
$rs=mysqli_query($this->conn$sql);
$i=0;
if(
mysqli_num_rows($rs)<1){
echo 
"No hay clientes registrados";
}else{
echo 
"<table border='0' align='center' class='flat-table flat-table-1'>";
echo 
"<thead>
<th>Permisos</th>
<th>Usuario</th>
<th>Nombre</th>
<th>Sexo</th>
<th>Estado</th>
<th>Municipio</th>
<th>Dirección</th>
<th>Telefono</th>
<th>Modificar</th>
<th>Eliminar</th>
</thead>"
;
while (
$row mysqli_fetch_array($rs)){
echo 
"<td align='center'>".$row["NombreTipoCliente"]."</td>";
echo 
"<td align='center'>".$row["NombreUsuario"]."</td>";
echo 
"<td align='center'>".$row["NombreReal"]."</td>";
echo 
"<td align='center'>".$row["Sexo"]."</td>";
echo 
"<td align='center'>".$row["Estado"]."</td>";
echo 
"<td align='center'>".$row["Municipio"]."</td>";
echo 
"<td align='center'>".$row["Direccion"]."</td>";
echo 
"<td align='center'>".$row["Telefono"]."</td>";

echo 
'<td align="center">
<a class="fancybox fancybox.iframe" href="../fancy/mod_usuario.php?id='
.$row["idUsuario"].'&nombretipocliente='.$row["NombreTipoCliente"].'&nombreusuario='.$row["NombreUsuario"].'&nombrereal='.$row["NombreReal"].
'&apellidos='.$row["Apellidos"].'&nacimiento='.$row["Nacimiento"].'&sexo='.$row["Sexo"].'&estado='.$row["Estado"].'&municipio='.$row["Municipio"].'&direccion='.$row["Direccion"].'&correo='.$row["Correo"].'&telefono='.$row["Telefono"].'&contrasenia='.$row["Contrasenia"].'&fecharegistro='.$row["FechaRegistro"].'" >Editar</a></td>';
echo 
"<td><a href='../control/controlador_usuario.php?eliminar=si&codigo=".$row["idUsuario"]."'>Eliminar</a></td></tr>";
$i++;
}
}
echo 
"</table>";
//Paginación
$links=10;//numero de links de paginas a mostrar

echo "<a title='Start' href='?p=1'>< < Inicio</a> ";//inicio
if ($pagina>1) echo "</a><a title='Anterio' href='?p=".($pagina-1)."'> < < Anterior </a> "//Anterior

for ($i $pagina$i < = $total_paginas && $i<=($pagina $links); $i++) {
      if (
$i == $pagina) echo "<strong>$i - </strong>";//no se imprimen en el enlace
      
else echo "</a><a title='pagina $i' href='?p=$i'>$i</a> - ";//link
}

if ((
$pagina+$links)< $total_paginas) echo "..."//etcetera...
if ($pagina<$total_paginas) echo "<a title='Siguiente' href='?p=".($pagina+1)."'> Siguiente >>  ";//Siguiente
echo "<a title='Fin' href='?p=$total_paginas'>Fin >></a>";//fin
}

//--------------------------------------------------------- 

Etiquetas: fecha, mysql, registro, select, sql
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 03:29.