Du kan bara avrunda det nedåt så att du alltid får ett heltal. På så sätt bryter en decimal inte frågan.
$half = floor($numRows/2);
Du vill använda en ny $half
värde med ceil()
på andra sidan för att runda uppåt, så att du inte hoppar över en rad i mitten.
För övrigt kan det vara bättre att bara göra en fråga som returnerar varje rad och sedan mata ut raderna upp till $half
på ena sidan, fortsätt sedan från den punkten till slutet för den andra sidan. Då träffar du bara databasen en gång och det är lättare att se vad som händer.
t.ex.
$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))
{
// ...
}