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

Utwórz wiele stron z zapytania mysql

Jak się domyślasz, musisz użyć LIMIT słowo kluczowe .

Przyjmuje dwie wartości (cytując) :

  • przesunięcie pierwszego wiersza do zwrócenia
  • maksymalna liczba wierszy do zwrócenia


W twoim przypadku będziesz musiał użyć czegoś takiego na pierwszej stronie :

select * from your_table order by ... limit 0, 50

A potem na drugiej stronie :

select * from your_table order by ... limit 50, 50

A za trzecią :

select * from your_table order by ... limit 100, 50

I tak dalej;-)


Edytuj po komentarzu: aby uzyskać numer strony, musisz go otrzymać ze swoich adresów URL, co wyglądałoby tak:

http://www.example.com/page.php?pagenum=2

Następnie obliczysz pierwszą wartość limitu:

$offset = 50 * intval($_GET['pagenum']);

I wstaw go w swoim zapytaniu :

select * from your_table order by ... limit $offset, 50


Konstruowanie adresów URL do różnych stron jest teraz kwestią uzyskania takich adresów URL:

http://www.example.com/page.php?pagenum=0
http://www.example.com/page.php?pagenum=1
http://www.example.com/page.php?pagenum=2
...

Jeśli wiesz, że masz 700 elementów i 50 na stronę, będziesz mieć 700/50 stron;-)
Tak więc coś takiego powinno wystarczyć :

for ($i=0 ; $i<700/50 ; i++) {
    // Use http://www.example.com/page.php?pagenum=$i as URL
}


Oczywiście 700 to wartość, która prawdopodobnie może się zmienić i nie powinna być zakodowana na stałe:należy ją określić z bazy danych, używając count zapytanie :

select count(*) as total
from your_table
...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego date() nie konwertuje poprawnie formatu daty RRMMDDGGMM na akceptowalny format daty MySQL?

  2. Jak używać bazy danych jako kopii zapasowej/awaryjnej w hibernacji?

  3. Czasowe przypomnienie e-mail w Pythonie

  4. W jaki sposób umożliwiasz klientom używanie ich openid w Twojej witrynie, podobnie jak stackoverflow?

  5. Przyspieszenie liczenia wierszy w MySQL