Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak podzielić rekordy tabeli MySQL na pół, aby wyświetlić je z każdej strony strony?

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Potrzebuję pomocy w ukończeniu tego 3-poziomowego dynamicznego menu rozwijanego

  2. Problemy UTF-8 PHP/MySQL

  3. Ciąg znaków ucieczki do użycia w wyszukiwaniu pełnotekstowym MySQL

  4. Jak zoptymalizować wyszukiwanie daty i godziny w Mysql?

  5. Sprawdź i zoptymalizuj bazę danych MySQL automatycznie za pomocą Crontab/Cron