Du kan bare runde det ned, så du altid får et heltal. På den måde vil en decimal ikke bryde forespørgslen.
$half = floor($numRows/2);
Du vil gerne bruge en ny $half
værdi ved hjælp af ceil()
på den anden side for at runde op, så du ikke springer en række over i midten.
Som en side kan det være bedre kun at lave én forespørgsel, der returnerer hver række, og derefter udskrive rækkerne op til $half
på den ene side, og fortsæt derefter fra det punkt til enden for den anden side. Så rammer du kun databasen én gang, og det er nemmere at se, hvad der foregår.
f.eks.
$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))
{
// ...
}