![]() |
![]() ![]() |
![]() |
![]()
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ę: i dwa problemy ![]()
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? ![]() Pomysły? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Czy nie wygodniej Ci będzie pogrupować te rekordy już po stronie PHP?
1. Pobierasz posortowane. 2. Każdy z rekordów dopisujesz jako kolejny element wcześniej utworzonej tablicy (gdzie klucze to litery, a wartości to tablica z rekordami). 3. W momencie wyświetlania:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Pisane w przegladarce wiec sobie sformatuj. Jak pobrac wpisy odpowiadajace danej literze: Aby bylo optymalnie proponuje trzymac pierwsza litere w oddzielnej kolumnie (first_letter) i wyszukiwac wlasnie po tej kolumnie. Nie ma sensu za kazdym razem dla kazdego platform wyciagac pierwszej litery. Jezeli chcesz miec to na prawde profesjonalnie zrobione, to podaj nam troche wiecej informacji o tym co robisz i co juz masz zrobione Ten post edytował lukaskolista 2.06.2012, 19:14:09 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Jeśli potrzebujesz listę wszystkich imion to pobieraj całość z sortowaniem po a-z, potem w php $pierwszaLitera='' i pętla jeśli $pierwszaLitera!= pierwszej literze aktualnego słowa to zmieniasz jej wartość na aktualną i wyświetlasz =A= jeśli jest taka sama wyświetlasz imie itd. aż wszystkie imiona się skończą - najprościej i efektywniej, wysyłanie kilk zapytań jest bez sensu, a jeśli chcesz ograniczyć wyniki oddawaj limit lub where i tyle.
Edit: @Crozin też ma dobry pomysł, dwie pętle, ale nie sprawdzasz za każdym razem pierwszej litery. Ten post edytował ShadowD 2.06.2012, 19:06:47 -------------------- Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince |
|
|
![]()
Post
#5
|
|
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)? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 02:51 |