Foros del Web » Programando para Internet » PHP »

limitar la cantidad de post

Estas en el tema de limitar la cantidad de post en el foro de PHP en Foros del Web. hola!!! Hay alguna forma de limitar la cantidad de entradas o Post que se publican, para que no se alargue tanto la página principal?? Por ...
  #1 (permalink)  
Antiguo 02/07/2010, 06:14
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
De acuerdo limitar la cantidad de post

hola!!!

Hay alguna forma de limitar la cantidad de entradas o Post que se publican, para que no se alargue tanto la página principal??
Por ejemplo, me gustaría que si al llegar a mas de 5 noticias, aparezca el clásico botón de "Página Siguiente" para ver noticias anteriores.


les agradezco mucho su ayuda!!!
  #2 (permalink)  
Antiguo 02/07/2010, 07:47
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: limitar la cantidad de post

a eso se le llama paginación, existen clases para paginar registros, búscalas en google y las encontrarás
  #3 (permalink)  
Antiguo 02/07/2010, 08:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 212
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: limitar la cantidad de post

Esta liga puede ayudar

http://www.forosdelweb.com/f18/paginacion-php-757409/
  #4 (permalink)  
Antiguo 07/07/2010, 12:07
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 13 años, 9 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!!!
  #5 (permalink)  
Antiguo 07/07/2010, 14:24
Avatar de funkii  
Fecha de Ingreso: junio-2010
Mensajes: 64
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: limitar la cantidad de post

modificando esta linea te tiene que funcionar :)

# Aqui se pone la cantidad de registros por pagina
# que se quieren mostrar
$hasta = 6;
  #6 (permalink)  
Antiguo 07/07/2010, 15:23
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: limitar la cantidad de post

Así tengo puesta esa línea. lo que quiero decir es que me muestre 6 registros por pagina y lo que pasa es que solo me muestra los 6 primeros en el link 1 y al clickear en el link 2,3,4... no me muestra los siguientes registros continuan los del link1.

muchas gracias por vuestra ayuda!!!

Última edición por williamdinho; 08/07/2010 a las 04:55

Etiquetas: cantidad, limitar, post
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 17:32.