Je kunt het gewoon naar beneden afronden, zodat je altijd een geheel getal krijgt. Op die manier zal een decimaal de zoekopdracht niet breken.
$half = floor($numRows/2);
U wilt een nieuwe $half
. gebruiken waarde met behulp van ceil()
aan de andere kant om naar boven af te ronden, zodat je geen rij in het midden overslaat.
Even terzijde, het is misschien beter om slechts één query te doen die elke rij retourneert en de rijen vervolgens uit te voeren tot $half
aan de ene kant, ga dan vanaf dat punt verder naar het einde voor de andere kant. Dan raak je de database maar één keer en is het makkelijker om te zien wat er aan de hand is.
bijv.
$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))
{
// ...
}