De 10 en 10 en SQL

Iniciado por dimitrix, 19 Septiembre 2008, 09:31 AM

0 Miembros y 1 Visitante están viendo este tema.

dimitrix

Pues bueno, mi última preguntita en SQL (cosa que ya he buscado en google XD)

Cuanto haces una consulta a la db y por ejemplo te sale 55 resultados, como podría hacer que me salieran 10 y luego un botón para pasar a los 10 siguientes.

Creo que en un principio se podría sacar sólo 10 con una función tipo:

$a = 1;
while (10 == $a);
$a++

Pero aunque funcionara bien puesto y todo eso, sólo me mostraría los 10 primeros ¿No?

Cómo podría hacer para ir de 10 en 10.

Un saludo.




Rentero

#1
Eso se llama paginación.

Se hace usando LIMIT en SQL, pondré un ejemplo básico pero encontrarás más cosas sabiendo como como se llama :P
Código (php) [Seleccionar]
<?php
$catidad 
10//numero de resultados por página
$pag intval($_GET['pag']); //casting a int

$desde $pag $cantidad;
//ordenamos por id, de forma ascenedente
$resp mysql_query("SELECT * FROM noticias ORDER BY id DESC LIMIT $desde$cantidad");
?>


Si pagina.php?pag=0 => $pag = 0; $desde = 0; $cantidad= 10; => LIMIT 0, 10
Si pagina.php?pag=1 => $pag = 1; $desde = (1 * 10) = 10; $cantidad = 10; => LIMIT 10, 10;

Es decir, que tienes que comprobar:
* Que la $_GET['pag'] es un número.
* Tienes que comprobar el numero de entradas que hay para no intentar listar más de las que son ($num_paginas = $num_total_entradas / $cantidad)

Pff ahora mismo no tengo la cabeza como para pensar más xD pero creo que como intrducción sirve ;)

http://www.desarrolloweb.com/articulos/1035.php
http://www.elguruprogramador.com.ar/articulos/paginacion-en-php.htm
http://www.webexperto.com/articulos/art/74/paginacion-de-resultados-con-php/

En el foro tb hay pero ahora no los encuentro :S
Firmado.

dimitrix

Genial, muchas gracias por todo, ya sigo yo XDD