sql >> Base de Datos >  >> RDS >> Mysql

Cómo dividir los registros de la tabla MySQL por la mitad para mostrarlos en cada lado de una página

Puede redondearlo hacia abajo para obtener siempre un número entero. De esa forma, un decimal no interrumpirá la consulta.

$half = floor($numRows/2);

Querrás usar un nuevo $half valor usando ceil() en el otro lado para redondear hacia arriba, para que no te saltes una fila en el medio.

Aparte, podría ser mejor hacer solo una consulta que devuelva cada fila, luego generar las filas hasta $half por un lado, luego continúa desde ese punto hasta el final por el otro lado. Entonces solo accede a la base de datos una vez y es más fácil ver lo que está pasando.

por ejemplo

$result = mysql_query("SELECT * FROM cultures ORDER BY name ASC");
$half   = floor(mysql_num_rows($result)/2);
$count  = 0;

// First side.
while($count <= $half
      && $row = mysql_fetch_array($result))
{
    // ...
    $count++;
}

// ...

// Second side.
while($row = mysql_fetch_array($result))
{
    // ...
}