Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Stronicowanie w mySQL, stronicowanie przy użyciu wyłącznie sql
ketna
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 28.03.2005

Ostrzeżenie: (0%)
-----


Witam,
potrzebuję zrobić podział wyników na strony. Mogę użyć jedynie sql-a.
Na razie mam coś takiego niestety nie działa:

Kod
SET @i=0 SELECT CEIL((@i:=COUNT(id)+1)/10) AS strona FROM product GROUP BY strona


Bardzo proszę pomoc.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mhs
post
Post #2





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


Cytat
Chciałeś mi wyjaśnić jakie są ogólne zasady budowania zapytania?

Tak, chciałem wskazać Ci jakiego typu ma być zapytanie SQL, dzięki któremu można pobrać część wyników z bazy danych.

Cytat
LIMIT nie ma tu nic do rzeczy

No właśnie, że ma, gdyż dzięki temu pobierasz część wyników zapytania.

Cytat
bo problem polega na tym, żeby zapytanie wygenerowało tyle wyników ile stron potrzeba, żeby wyświetlić wszystkie wyniki

Jeżeli będziesz miał LIMIT to wybierze część tych wyników, dokładnie tyle ile będziesz chciał mieć wyników na jednej stronie.


Cytat
Przykładowo jeśli liczba wyników = 25 (COUNT(id)), a chcemy mieć 10 wyników na stronie to dzielimy 25/10=2,5 i wynik zaokrąglamy w górę do liczby całkowitej (3) i mamy w ten sposób liczbę stron.

No ok. Zrealizuj to w php.

Cytat
Teraz wypadałoby wygenerować linki do trzech stron i tego właśnie nie potrafię zrobić

No to w czym problem?
  1. <a href="skrypt.php?strona=1">strona 1</a>
  2. <a href="skrypt.php?strona=2">strona 2</a>
  3. <a href="skrypt.php?strona=3">strona 3</a>

Musisz tylko troszeczke pokombinować w php by uzyskać taki wynik i wszystko.

Ten post edytował mhs 23.11.2005, 13:37:56
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 10:09