07/07/2010, 12:07
|
| | Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 14 años, 4 meses Puntos: 0 | |
Respuesta: limitar la cantidad de post hola gracias por nuestra ayuda!
me he encontrado con este codigo de paginar registros de una base de datos, el codigo funciona pero no logro dar con algo y es que al clickear en en los links siguientes no me muetra los siguientes registros solo me aparecen los primeros 6 y son 30 registros que me deberian de cargar osea en 5 links_totales me deberian de mostrar los registros el codigo es el siguiente:
<table border="1" style="width: 80%; margin: 10px;">
<tr>
<td><b>Id</b></td>
<td><b>Nombres</b></td>
<td><b>Apellidos</b></td>
<td><b>País</b></td>
</tr>
<?php
# Funcion para conectar a la base de datos
function conectar($host,$user,$pass,$db){
$link = @mysql_connect($host,$user,$pass) or die("Error Conectando a la Base de datos");
@mysql_select_db($db,$link) or die("Error Seleccionando base de datos.");
return $link;
}
$host = "localhost";
$user = "root";
$pass = "";
$db = "prueba";
# Se crea la variable $link que es para identificar la coneccion
# a la base de datos
$link = conectar($host,$user,$pass,$db);
# aqui colocan la tabla que se utilizara para
# extraer los registros y paginarlos
$tabla = "usuarios";
# aqui se extrae la cantidad de registros totales
$rsC = mysql_query("Select count(*) from ".$tabla);
$resultC = mysql_fetch_array($rsC);
$count = $resultC[0];
# Aqui se pone la cantidad de registros por pagina
# que se quieren mostrar
$hasta = 6;
if($pag==""){
$desde = 0;
$pag = 1;
}
else{
$pag = $_GET["pag"];
$pagS = $pag - 1;
$desde = $hasta * $pagS;
}
$rs = mysql_query("select * from ".$tabla." limit $desde,$hasta");
if($count!=0){
while($result=mysql_fetch_array($rs)){
# Aqui colocan su tabla html y sus datos a mostrar
echo "<tr>";
echo "<td>".$result['id']."</td>";
echo "<td>".$result['nombre']."</td>";
echo "<td>".$result['apellidos']."</td>";
echo "<td>".$result['pais']."</td>";
echo "</tr>";
# solo se usa el array $result[""] y entre comillas
# el nombre de la celda a mostrar.
echo $result["usuarios"]."<br>\n";
# fin del despliegue personalizado.
}
}
else{
echo "No tenemos registros.";
}
mysql_close($link);
# aqui se llama a la funcion que muestra los links por paginas
# la variable $extra_variables es para anexar mas variables al url
# si es necesario para los querys que hagan.
# Solo se debe concatenar los datos nombre1=valor1&nombre2=value2
# NOTA: puede ubicar en cualquier parte de su codigo esta funcion
# para que aparesca dentro de la celda que desee.
# link totales es una variable al ser definida le dices a la funcion
# cuantos links quieres que aparescan por pantalla ya que si tienes
# 100 paginas no deberas ver los 100 links y solo muestres los necesarios
$link_totales = 4;
# se llama la funcion paginar
# los links si tiene un css podran tomar la estructura y color que le pongas
## Inicia Paginador
paginar($count,$hasta,$pag,$link_totales,$extra_va riables);
# Funcion paginar
# Inicia
function paginar($count,$hasta,$pag,$link_totales,$extra_va riables){
if($link_totales==1)$link_totales=2;
$links = $count / $hasta;
$arriba = $link_totales - 2;
$abajo = $pag - 1;
if($abajo==0)$abajo = 1;
$temp_r = $links - $pag;
if($temp_r>=$arriba){
$link_break = $pag + $arriba;
}
else{
$link_break = $links;
$abajo = $pag + 1 - $arriba;
if($pag==$links-1)$abajo = $pag - $arriba;
if($pag==$links)$abajo = $pag - 1 - $arriba;
}
if($pag==1)$link_break = $link_totales;
if($abajo==0)$abajo=1;
if(strlen($extra_variables)!=0) $extra_variables = "&".$extra_variables;
if($pag==1){
$anterior = 1;
}
else{
$anterior = $pag - 1;
}
if($pag!=1){
echo "<a href=".$_SERVER['PHP_SELF']."?pag=".$anterior.$extra_variables."><< Anterior | </a>";
}
for($i=$abajo;$i<=$links;$i++){
if($link_break<$i){
break;
}
else{
if($pag==$i){
echo $i." | ";
}
else{
echo "<a href='".$_SERVER['PHP_SELF']."?pag=".$i.$extra_variables."'>";
echo $i;
echo " | </a>";
}
}
}
if($pag==$links){
$siguiente = $links;
}
else{
$siguiente = $pag + 1;
}
if($pag!=$links){
echo "<a href=".$_SERVER['PHP_SELF']."?pag=".$siguiente.$extra_variables.">Siguient e >></a>";
}
}
?>
</table>
les agradezco mucho vuestra ayuda!!! |