Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So teilen Sie MySQL-Tabellendatensätze in zwei Hälften, um sie auf jeder Seite einer Seite anzuzeigen

Sie können es einfach abrunden, sodass Sie immer eine ganze Zahl erhalten. Auf diese Weise wird eine Dezimalzahl die Abfrage nicht unterbrechen.

$half = floor($numRows/2);

Sie sollten ein neues $half verwenden Wert mit ceil() auf der anderen Seite zum Aufrunden, damit Sie keine Zeile in der Mitte überspringen.

Abgesehen davon könnte es besser sein, nur eine Abfrage durchzuführen, die jede Zeile zurückgibt, und dann die Zeilen bis zu $half auszugeben auf der einen Seite, dann weiter von diesem Punkt bis zum Ende für die andere Seite. Dann greifen Sie nur einmal auf die Datenbank zu und es ist einfacher zu sehen, was vor sich geht.

zB

$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))
{
    // ...
}