Foros del Web » Programando para Internet » PHP »

Paginar registros de un listado

Estas en el tema de Paginar registros de un listado en el foro de PHP en Foros del Web. He encontrado el siguiente codigo por internet, y lo he modificado segun mis datos y no me funciona, alguien me puede decir que puede fallar??? ...
  #1 (permalink)  
Antiguo 07/03/2009, 07:39
 
Fecha de Ingreso: diciembre-2007
Mensajes: 46
Antigüedad: 16 años, 4 meses
Puntos: 0
Paginar registros de un listado

He encontrado el siguiente codigo por internet, y lo he modificado segun mis datos y no me funciona, alguien me puede decir que puede fallar???

----------------------------------------------------------------------------------------
<?php
include_once("conexion.php");
$con=mysql_connect(servidor,usuario,password);
mysql_select_db($base,$con);
if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=10; // cantidad de resultados por página
$inicial = $pg * $cantidad;
$pegar = SELECT * FROM clientes ORDER BY codcli LIMIT $inicial,$cantidad;
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);

// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) {
echo $array['dni'].
;
}

// Cerramos la conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación
echo

;
if ($pg <> 0)
{
$url = $pg - 1;
echo « Anterior ;
}
else {
echo ;
}

for ($i = 0; $i<($pages + 1); $i++) {
if ($i == $pg) {
echo $i ;
}
else {
echo .$i. ;
}
}

if ($pg < $pages) {
$url = $pg + 1;
echo Siguiente »;
}
else {
echo ;
}

mysql_close($cnn);;
?>
  #2 (permalink)  
Antiguo 07/03/2009, 08:56
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Paginar registros de un listado

include_once("conexion.php");
prueva con solo

Código php:
Ver original
  1. include("conexion.php");

Tambien existe un excelente paginar en el foro es de Okram es mas sencillo y muy eficaz se llama PHPpaging.lib.php
  #3 (permalink)  
Antiguo 07/03/2009, 09:03
 
Fecha de Ingreso: diciembre-2007
Mensajes: 46
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Paginar registros de un listado

Nada, tampoco me va, me sale este error: Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\pruebapag.php on line 9
He probado a todo y no me va.
  #4 (permalink)  
Antiguo 07/03/2009, 09:43
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Paginar registros de un listado

Cual es la linea 9 de tu codigo
  #5 (permalink)  
Antiguo 07/03/2009, 09:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Paginar registros de un listado

¿Qué tal si en lugar de esto...
Código php:
Ver original
  1. $pegar = SELECT * FROM clientes ORDER BY codcli LIMIT $inicial,$cantidad;
... usas esto? ...
Código php:
Ver original
  1. $pegar = "SELECT * FROM clientes ORDER BY codcli LIMIT $inicial,$cantidad";
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 07/03/2009, 09:50
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Paginar registros de un listado

Mire hice de nuevo tu codigo lo hice asi y me funciona fijate bien que error cometes es de sintaxis

Código php:
Ver original
  1. // Establesco el número de filas por página y la fila inicial
  2.       $num = 3; // número de filas por página
  3.       $comienzo = $_REQUEST['comienzo'];
  4.       if (!isset($comienzo)) $comienzo = 0;
  5.  
  6.    // Calcular el número total de filas de la tabla
  7.       $instruccion = "select * from tabla";
  8.       $consulta = mysql_query ($instruccion, $link)
  9.          or die ("Fallo en la consulta");
  10.      
  11.       $nfilas = mysql_num_rows ($consulta);
  12.  
  13.       if ($nfilas > 0)
  14.       {
  15.  
  16.       // Mostrar números inicial y final de las filas a mostrar
  17.          print ("Mostrando tabla " .
  18.         ($comienzo + 1) . " a ");
  19.          if (($comienzo + $num) < $nfilas)
  20.             print ($comienzo + $num);
  21.          else
  22.             print ($nfilas);
  23.          print (" de un total de $nfilas.\n");
  24.  
  25.       // Mostrar botones anterior y siguiente
  26.          $estapagina = $_SERVER['PHP_SELF'];
  27.          if ($nfilas > $num)
  28.          {
  29.             if ($comienzo > 0)
  30.                print ("[ <A HREF='$estapagina?comienzo=" . ($comienzo - $num) . "'>Anterior</A> | ");
  31.             else
  32.                print ("[ Anterior | ");
  33.             if ($nfilas > ($comienzo + $num))
  34.                print ("<A HREF='$estapagina?comienzo=" . ($comienzo + $num) . "'>Siguiente</A> ]\n");
  35.             else
  36.                print ("Siguiente ]\n");
  37.          }
  38.          print ("</P>\n");
  39.  
  40.       }
  41.      
  42.      if ($buscado ==""){
  43.        
  44.  
  45.    // Enviar consulta
  46.       $instruccion = "select * from tutabla order by (ejemplo edad) desc limit $comienzo, $num";
  47.       $consulta = mysql_query ($instruccion, $link)
  48.          or die ("Fallo en la consulta");
  49.  
  50.    // Mostrar resultados de la consulta
  51.       $nfilas = mysql_num_rows ($consulta);
  52.       if ($nfilas > 0)
  53.       {
  54.       ?>
  55.      
  56.          <center>
  57.          <TABLE  id=box-table-a>
  58.          <TR>
  59.          <th>Nombres</th>
  60.          <th>apellidos</th>
  61.          </TR>
  62.        <?php
  63.          
  64.          for ($i=0; $i<$nfilas; $i++)
  65.          {
  66.             $resultado = mysql_fetch_array ($consulta);
  67.             print ("<TR>\n");
  68.             print ("<TD>" . $resultado['nombre']."</TD>\n");
  69.             print ("<TD>" . $resultado['apellidos']."</TD>\n");
  70.             print ("</TR>\n");
  71.          }
  72.  
  73.         print ("</TABLE>\n");
  74.         print ("</center>");
  75.       }
  76.       else
  77.          print ("No hay datos disponibles");
  78.    
  79.    
  80.     }
  81.      
  82.      
  83.      else {
  84.      
  85.             $instruccion = ("select* from jugadores where carnet_id = '$buscado' ");
  86.             $consulta = mysql_query ($instruccion, $link)
  87.              or die ("Fallo en la consulta");
  88.      
  89.      
  90.         // Mostrar resultados de la consulta
  91.       $nfilas = mysql_num_rows ($consulta);
  92.       if ($nfilas > 0)
  93.       {
  94.       ?>
  95.      
  96.          <center>
  97.          <TABLE  id=box-table-a>
  98.          <TR>
  99.          <th>Nombres</th>
  100.          <th>Apellidos</th>
  101.          </TR>
  102.        <?php
  103.          
  104.          for ($i=0; $i<$nfilas; $i++)
  105.          {
  106.             $resultado = mysql_fetch_array ($consulta);
  107.             print ("<TR>\n");
  108.             print ("<TD>" . $resultado['nombre']."</TD>\n");
  109.             print ("<TD>" . $resultado['apellidos']."</TD>\n");
  110.             print ("</TR>\n");
  111.          }
  112.  
  113.         print ("</TABLE>\n");
  114.         print ("</center>");
  115.       }
  116.       else
  117.          print ("No hay datos disponibles");         
  118.      
  119.  
  120.  
  121. }
  122.      
  123. ?>

Suerte
  #7 (permalink)  
Antiguo 09/03/2009, 12:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 49
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Paginar registros de un listado

Hola majony, he revisado tu codigo y me parece muy bueno, excelente trabajo, ahora quisera saber como se podría hacer para que en vez de paginar en orden vertical lo hiciera en columnas y poder establecer cuantas columnas mostratrá???
es decir:

nombre apellido| nombre apellido | nombre apellido
nombre apellido| nombre apellido | nombre apellido

Gracias por tu ayuda
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

SíEste tema le ha gustado a 1 personas




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