Por ejemplo, en la pagina 1 tomo registros del 1 al 100 y los coloco de determinadas formas (order by id desc, etc.). Pero para la siguiente página, quiero los registros 101 al 200 y no lo he podido lograr, ni siquiera cambiando los parámetros de la cláusula LIMIT. Ok, aca pongo el código, a ver que pasa:
Cita:
<?php
$query = "SELECT count(id) AS Total from rank WHERE id>1 AND id<101";
$row2=mysql_fetch_assoc(mysql_query($query));
$total_records = $row2['Total'];
$records_per_page = 5;
$total_pages = ceil($total_records / $records_per_page);
$page = intval($_GET["p"]);
if ($page < 1 || $page > $total_pages) $page = 1;
$offset = ($page - 1) * $records_per_page;
$limit = " LIMIT $offset, $records_per_page";
$query = "SELECT * from rank ORDER BY votos DESC, nombre ASC $limit";
$resultado = mysql_query($query);
while ($row = mysql_fetch_assoc($resultado))
{......................... (EL CODIGO CONTINUA)
La primer oracion toma los primeros 100 registros de la tabla rank. Cuando cambio los valores id (1 y 101), no pasa nada. Por ejemplo, "WHERE id>101 AND id<201", no toma los valores del 101 al 201. <?php
$query = "SELECT count(id) AS Total from rank WHERE id>1 AND id<101";
$row2=mysql_fetch_assoc(mysql_query($query));
$total_records = $row2['Total'];
$records_per_page = 5;
$total_pages = ceil($total_records / $records_per_page);
$page = intval($_GET["p"]);
if ($page < 1 || $page > $total_pages) $page = 1;
$offset = ($page - 1) * $records_per_page;
$limit = " LIMIT $offset, $records_per_page";
$query = "SELECT * from rank ORDER BY votos DESC, nombre ASC $limit";
$resultado = mysql_query($query);
while ($row = mysql_fetch_assoc($resultado))
{......................... (EL CODIGO CONTINUA)
Luego de pensar mucho, me di cuenta que en el segundo $query, mira todos los registros y luego selecciona los 100 mejores ordenados por votos y nombre.
Yo lo que quiero es que, por ejemplo, seleccione únicamente los registros del 101 al 201 y luego que tiene solo esos, los ordene por votos, nombre, etc.
Bueno, muchas gracias.