Crear tablas desdearreglo pero limite de registros

Tengo un código para crear una tabla desde una base de datos pero quisiera que solamente me muestro los primeros 20 y un hipervínculo que me muestre del 21-40 y así hasta el final de los registros.
Respuesta
1
Creo que te refieres a paginación...
Si ese es el caso dime co mo programas para poder ayudar..
Orientado a objetos.
O coodigo donde sea y como sea
Bien te paso el código que uso yo, lo hice en un curso de php y mysql que estoy haciendo.
<?php
mysql_connect('localhost','root','comenzar') or die ("No se pudo establecer la conexion");
mysql_select_db('mibasededatos');
$orden = $_GET[orden];
if ($orden == 'B')
    $orden= " order by producto DESC";
else         
    $orden= " order by producto ";
$resultado = mysql_query("SELECT * FROM productos where producto like '$_POST[filtro]%' $order  ");
?>
<form name="ff" method="POST" action="productos.php">
<input type="text" name="filtro" value="">
<input type="submit" value="Buscar">
</form>
<?
echo "
<table width=400 border=1>
<tr>
<td>ID</td>
<td>Producto <a href=productos.php?orden=A> << </a> <a href=desc.php?orden=B>  >> </a> </td>
<td>Precio</td>
<td>Eliminar</td>
<td>Modificar</td>
</tr>
";
while($array_datos = mysql_fetch_array($resultado)){
echo "
<tr>
<td> $array_datos[id] </td>
<td> $array_datos[producto] </td>
<td> $array_datos[precio]</td>
<td><a href=\"eliminar.php?id=$array_datos[id]\" onclick=\"if (!(confirm('borrar?'))) return false;\">Eliminar</a></td>
<td><a href=\"modificar.php?id=$array_datos[id]\"onclick=\"if (!(confirm('Modificar?'))) return false;\">Modificar</td>
</tr>
";
}
echo"
</table>
";
?>
Creo que con esto se resuelve tu problema
Creamos un php con cualquier nombre y le pegamos esto adentro.
<html>
<body>
<?php
include('ligas_pag.php');
/////////////////////////////////////////////////////////
$link = mysql_connect("localhost", "root");
mysql_select_db("ciudades", $link);
if(isset($_REQUEST['pag']))
     $pag =$_REQUEST['pag']; 
$pag =$_REQUEST['pag'];
if (!isset($pag))
{ $pag = 1; }// Por defecto, pagina 1
$result = mysql_query("SELECT COUNT(*) FROM provincias", $link);
list($total) = mysql_fetch_row($result);
$tampag = 5;
$reg1 = ($pag-1) * $tampag;
$result = mysql_query("SELECT * FROM provincias LIMIT $reg1, $tampag", $link);
//$result = mysql_query("SELECT * FROM provincias", $link);
if (mysql_num_rows($result)){
  echo "
<table border = '1'>
";
  echo "
<tr>
<td>Provincias</td>
<td>id_pais</td>
</tr>
";
  while ($row = @mysql_fetch_array($result)) {
    echo "
<tr>
<td>".$row["provincia"].
      "</td>
<td>".$row["id_pais"]."</td>
</tr>
";
  }
  echo "
</table>
";
echo paginar($pag, $total, $tampag, "cliente.php?pag=");
}
else
  echo "¡ No se ha encontrado ningún registro !";
?>
</body>
</html>
Luego cremos otro php el cual nos va adar las ligas..-- llamanmos a este php ligas_pag.php
Mirar que estamos utilizando un includeen el php dearriba para llamar este
<?php
/******************************************************/
/* Funcion paginar
 * actual:          Página actual
 * total:           Total de registros
 * por_pagina:      Registros por pagina
 * enlace:          Texto del enlace
 * Devuelve un texto que representa la paginacion
 */
function paginar($actual, $total, $por_pagina, $enlace) {
  $total_paginas = ceil($total/$por_pagina);
  $anterior = $actual - 1;
  $posterior = $actual + 1;
  if ($actual>1)
    $texto = '<a href='.$enlace.$anterior.'>&laquo;</a> ';
  else
    $texto = "<b>&laquo;</b> ";
  for ($i=1; $i<$actual; $i++)
    $texto .= '<a href='.$enlace.$i.'>'.$i.'</a> ';
  $texto .= '<b>'.$actual.'</b> ';
  for ($i=$actual+1; $i<=$total_paginas; $i++)
    $texto .= '<a href='.$enlace.$i.'>'.$i.'</a> ';
  if ($actual<$total_paginas)
    $texto .= '<a href='.$enlace.$posterior.'>&raquo;</a>';
  else
    $texto .= "<b>&raquo;</b>";
  return $texto;
}
?>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas