Możesz po prostu zaokrąglić w dół, aby zawsze otrzymać liczbę całkowitą. W ten sposób ułamek dziesiętny nie przerwie zapytania.
$half = floor($numRows/2);
Będziesz chciał użyć nowego $half
wartość za pomocą ceil()
po drugiej stronie, aby zaokrąglić w górę, aby nie pominąć wiersza w środku.
Nawiasem mówiąc, może być lepiej wykonać tylko jedno zapytanie zwracające każdy wiersz, a następnie wypisać wiersze do $half
po jednej stronie, a następnie kontynuuj od tego punktu do końca po drugiej stronie. Wtedy trafiasz do bazy danych tylko raz i łatwiej jest zobaczyć, co się dzieje.
np.
$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))
{
// ...
}