Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Paginacja literowa
_tomek
post 2.06.2012, 18:57:13
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 31.05.2012

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


Hej,

chcę zrobić paginację literową, wyglądającą mniej więcej tak:
--A--
Adam
Andrzej
--B--
Bartek
Bronek
itd.

Mam zapytanie SQL wyciągające dane i wydzielające pierwszą literę:
  1. SELECT LEFT(platform,1) AS firstletter, id, platform FROM platforms ORDER BY platform
i dwa problemy smile.gif Pierwszy to taki, że w przypadku dwóch i więcej wpisów na tę samą literę, pojawia się tyle samo "pierwszych liter". Chciałbym to zgrupować. Ale grupowanie w zapytaniu odpada - wtedy pobiera tylko jeden wiersz i tyle. Mój drugi problem to uzyskanie pokazanej na początku postu formy. Chciałem to zrobić foreach'em, czyli
  1. foreach($platform as $plat) {
  2. echo $plat->firstletter;
  3. }

ale wtedy nie dość, że problem pierwszy się uwidacznia, to za cholerę nie wiem, jak pobrać z tablicy tylko wpisy odpowiadające danej literze (eee, ktoś to rozumie? tongue.gif). Mój jedyny pomysł to podzapytania, tj puszczenie najpierw w SQL 'GROUP BY firstletter', potem foreach i w tym foreachu jeszcze jedno zapytanie z 'LIKE $letter%'. Ale to wyjdzie tyle zapytań, ile liter, a to chyba nie jest dobre wyjście.

Pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
_tomek
post 2.06.2012, 19:37:27
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 31.05.2012

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


Dziękuję za tak szybkie odpowiedzi!

Mój problem wziął się stąd, że korzystam (pewnie niedługo "korzystałem") z klasy ezSQL, która w wielu wypadkach tutaj okazała się naprawdę dobrze spełniać swoje zadanie, ale tutaj musiałem zrobić wszystko "ręcznie". Problem był taki, że ezSQL zbiór wyników robi jako tablicę. Ale, w każdym razie, dałem sobie radę i napisałem coś podobnego, jak podał lukaskolista.

Może ktoś wie, jak rozwiązać to przy użyciu ezSQL (dla wygody, żeby nie mieszać, przyjmijmy że mój kod jest taki sam, jak podał lukaskolista)?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 20:29