Foros del Web » Programando para Internet » PHP »

¿Como puedo hacer una paginación?

Estas en el tema de ¿Como puedo hacer una paginación? en el foro de PHP en Foros del Web. Hola recien estoy empezando en este mundo..!! ya me surgio este problema. He echo este codigo para una base de datos pero no puedo hacer ...
  #1 (permalink)  
Antiguo 13/03/2005, 21:03
 
Fecha de Ingreso: septiembre-2004
Ubicación: Cordoba
Mensajes: 70
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta ¿Como puedo hacer una paginación?

Hola recien estoy empezando en este mundo..!! ya me surgio este problema.
He echo este codigo para una base de datos pero no puedo hacer la paginación de los datos.
Probe con un codigo publico que se alla en la red pero no pude!!. ahora viene mi pregunta si alguien me puede dar una mano o algún dato para hacer la paginación. desde ya Gracias. PABLO. Córdoba, Argentina.
Código PHP:
<?
$_POST
['$localidad'];
$_POST['$precio'];
$nombrelocalidad=$localidad;
$num=$precio;
echo 
"<p aling='center' class='letra'>$nombrelocalidad</p>";
//Conexion con la base
mysql_connect("localhost","usuario","password");
//Ejecuto la sentencia Mysql
$result=mysql_db_query("base_de_datos","select * from tabla WHERE (precio<='$num' AND localidad='$nombrelocalidad') order by precio desc");
if (
$nombrelocalidad==todas){
$result=mysql_db_query("base_de_datos","select * from tabla WHERE precio<='$num' order by precio desc");
}
?>
<?
//Muestro los registros
if ($row mysql_fetch_array($result)){
do{
echo 
"<tr>";
echo 
"<td valign='top'><img src=".$row["imagen"]." border='0' width='100' height='100'></td>";
echo 
"<td valign='middle'><p aling='center' class='letra'>".$row["localidad"]."</p></td>";
echo 
"<td valign='middle'><p aling='center' class='letra'>".$row["dormi"]."</p></td>";
echo 
"<td valign='top'><p aling='center' class='caracteristicas'>".$row["carac"]."</p></td>";
echo 
"<td valign='middle'><p aling='center' class='letra'>",'u$s '.$row["precio"].'.000',"</p></td>";
echo 
"</tr>";
}
while (
$row=mysql_fetch_array($result));
}else{ 
$texto="¡No se Ha encontrado ningún registro con la elección de su busqueda, vuelva a intentarlo!";
echo 
"<p aling='center' class='letra'>$texto</p>";
}
mysql_free_result($result)
?>
  #2 (permalink)  
Antiguo 13/03/2005, 21:29
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Saludos... en una revisada rápida a tu código.. parece que no haz hecho nada para dicha paginación... trataré de ayudarte:

Primero necesitas al menos dos datos más; el máximo de resultados por página y un valor inicial. Debes recojer esos datos vía URL, además de los datos que ya utilizas para tu busqueda.

Recojes un valor inicial (la primera busqueda será 0), creas otra variable que será éste valor más el máximo de resultados... el límite... ya luego crearás tu consulta como hasta ahora pero agregarás dichos límites:
"SELECT * FROM tabla WHERE columna=%algo% ORDER BY columna LIMIT $inicio, $fin"
dónde LIMIT $inicio, $fin serán tus resultados mostrados... por ejemplo:
Código PHP:
$num_Resultados5;
$inicio$_GET['inicio'];
$fin $inicio+$num_Resultados// así te mostrará del 0 al 5, del 6 al 11... y cuantos haya en intervalos de 5 
... Ahora solo debes tener cuidado en imprimir los links de atrás y siguiente. En 'siguiente' el valor inicio será el 'final+1' del actual y en 'atrás' el valor inicial será el valor 'inical actual -6'? ... algo así... además que debes mandar la variable motivo de la busqueda por la misma URL...

Bueno, eso es a grandes rasgos y muy fugázmente... Si no quieres complicarte la vida busca el "Paginator" de jpinedo... encontrarás documentación demás en éste foro... igual hay muchos casos prácticos de otras formas de paginadores en éste mismo foro... busca...

La mejor de las suertes!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 13/03/2005 a las 21:37
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 18:55.