Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como dividir os registros da tabela MySQL ao meio para exibir em cada lado de uma página


Você pode apenas arredondar para baixo para obter sempre um número inteiro. Dessa forma, um decimal não interromperá a consulta.
$half = floor($numRows/2);

Você vai querer usar um novo $half valor usando ceil() do outro lado para arredondar, para não pular uma linha no meio.

Como um aparte, pode ser melhor fazer apenas uma consulta retornando todas as linhas e, em seguida, gerar as linhas até $half de um lado, depois continue desse ponto até o fim para o outro lado. Então você está acessando o banco de dados apenas uma vez e é mais fácil ver o que está acontecendo.

por exemplo
$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))
{
    // ...
}