![]() |
![]() ![]() |
![]() |
![]()
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 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Chciałeś mi wyjaśnić jakie są ogólne zasady budowania zapytania?
LIMIT nie ma tu nic do rzeczy, bo problem polega na tym, żeby zapytanie wygenerowało tyle wyników ile stron potrzeba, żeby wyświetlić wszystkie wyniki. 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. Teraz wypadałoby wygenerować linki do trzech stron i tego właśnie nie potrafię zrobić (do tego ma służyć zmienna @i). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@ketna a co ty za herezje wypisujesz? Ilosc stron to w php policz wg wzotu co podales. dzielenie i zaokrąglenie to jedna linijka. na grzyba ci tu sql? z sql pobierasz liczbe wszystkich wyników i wyniki co cie aktualnie interesują.
Do stronicowania masz klasy: http://forum.php.pl/index.php?showtopic=35498 http://forum.php.pl/index.php?showtopic=35864 pozatym wpisz se do wyszukiwarki: stronicowanie i znajdziej full skryptow -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() 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? Musisz tylko troszeczke pokombinować w php by uzyskać taki wynik i wszystko. Ten post edytował mhs 23.11.2005, 13:37:56 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Przypominam, że nie mogę użyć php, mam doczynienia z zakodowanym .cgi i jedyne co mogę zrobić to napisać całość w sql.
Do mhs limit nie ma nic do rzeczy ponieważ jest to oczywiste, że wstawię tam sobie później zmienną, powtarzam potrzebuję pętli, która będzie mi zwracać tyle linków do stron, na ile stron dzielą się wyniki zapyania. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
sorki ze pytam:
a jak chcesz wygenerowac linki skoro nie masz php? tak sie pytam bo nie kumam (ciezki dzien dzis mam) -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Przypominam, że nie mogę użyć php, mam doczynienia z zakodowanym .cgi i jedyne co mogę zrobić to napisać całość w sql. A gdzie o tym wspominałeś wcześniej, że o tym przypominasz? W takiej sytuacji nie mam za bardzo pomysłu jak coś takiego wykonać. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 220 Pomógł: 0 Dołączył: 20.02.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Czy wynikiem tego zapytania ma być liczba, mówiąca ile stron potrzeba na wyświetlenie wszystkich wyników, zakładając, że na jednej stronie mogą znaleźć się maksymalnie x rekordy?
-------------------- Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
mhs - w temacie
nospor - linki wygeneruję, mogę tę zmieną wstawić, ale całe działanie musi przebiegać w sql Przykład1: Jeśli mamy 25 wyników, czyli potrzebne są 3 strony to otrzymujemy odpowiednią liczbę linków: strona 1, strona 2, strona 3 Przykład2: Jeśli mamy 37 wyników, czyli potrzebne są 4 strony to otrzymujemy odpowiednią liczbę linków: strona 1, strona 2, strona 3, strona 4 --- "CEIL((@i:=COUNT(id)+1)/10)" - zmienna, odowiedzialna za generowanie liczby linków. Ten post edytował ketna 23.11.2005, 14:55:25 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:47 |