sql >> Databasteknik >  >> RDS >> Mysql

Hur man delar MySQL-tabellposter på mitten för att visas på varje sida av en sida

Du kan bara avrunda det nedåt så att du alltid får ett heltal. På så sätt bryter en decimal inte frågan.

$half = floor($numRows/2);

Du vill använda en ny $half värde med ceil() på andra sidan för att runda uppåt, så att du inte hoppar över en rad i mitten.

För övrigt kan det vara bättre att bara göra en fråga som returnerar varje rad och sedan mata ut raderna upp till $half på ena sidan, fortsätt sedan från den punkten till slutet för den andra sidan. Då träffar du bara databasen en gång och det är lättare att se vad som händer.

t.ex.

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


  1. Varning:mysql_connect():[2002] Ingen sådan fil eller katalog (försöker ansluta via unix:///tmp/mysql.sock) i

  2. 2 sätt att returnera Unix-tidsstämpeln i SQLite

  3. Exportera enkel Excel-data till MySQL med PHP

  4. Dynamisk uppdateringssats med variabla kolumnnamn