Puoi semplicemente arrotondarlo per difetto in modo da ottenere sempre un numero intero. In questo modo, un decimale non interromperà la query.
$half = floor($numRows/2);
Ti consigliamo di utilizzare un nuovo $half
valore utilizzando ceil()
dall'altro lato per arrotondare per eccesso, in modo da non saltare una riga nel mezzo.
Per inciso, potrebbe essere meglio eseguire solo una query restituendo ogni riga, quindi restituire le righe fino a $half
da un lato, quindi continua da quel punto fino alla fine per l'altro lato. Quindi stai colpendo il database solo una volta ed è più facile vedere cosa sta succedendo.
ad esempio
$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))
{
// ...
}