![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam mały problem ... otoż pobieram sobie artykuły za pomocą zapytania:
zakres a-d jest przykładowy ... (docelowo będą to A-D, E-H, I-L, M-P, Q-W, X-Z) Wszystko działa ładnie, wybiera mi to co trzeba, mogę potem sobie zrobić z pobranych wierszy listę <ul> W zasadzie mógłbym na tym poprzestać (w końcu mam listę z danym zakresem liter posortowaną alfabetycznie), ale wpadł mi do głowy pewien pomysł. Aby lista była w stylu: Czyli potrzebuję jakiegoś sposobu, by podczas wykonywania całej pętli "wyczuć" kiedy zaczyna się nowa litera i wtedy dodatkowo zrobić jakieś echo rodzaju:
Robił ktoś coś takiego i ma gotowe rozwiązanie ? ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Może to Ci pomoże.
żywcem z manuala. -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
To chyba raczej nie załatwi sprawy ... może jaśniej ...
Podanym wcześniej zapytaniem pobieram listę artykułów w określonym zakresie liter. W rezultacie dostaję obiekt z tymi artykułami (używam Kohanaphp) Taki obiekt z artykułami przekazuję do widoku. Powiedzmy, że w obiekcie mam następujące artykuły:
Będą to nazwy tych artykułów posortowane alfabetycznie (jako linki w liście ul). Kwestia jest taka, że jak zaczyna się literka B, chciałbym jeden jedyny raz wstrzyknąć </ul><h3>B</h3><ul> , następnie to samo z literą C oraz D ... Czyli pewnie potrzebowałbym czegoś w rodzaju sprawdzenia pierwszego wystąpienia danej litery na początku nazwy, walnięcia tej literki i uaktywnienia dopiero jak będzie pierwsze wystąpienie kolejnej litery ... Prymitywnym rozwiązaniem mojego problemu byłoby użycie 4 osobnych zapytań do bazy i zrobienie 4 osobnych foreach z odpowiednimi tytułami (A, B,C, D) ... ale oczywiście alfabet jest długi, poza tym "na sztywno" nie jest dobrze bo przecież na daną literę wcale nie musi być artykułu ... Ten post edytował barat 18.05.2009, 11:21:11 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 6 Dołączył: 11.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował ndx 18.05.2009, 11:49:38 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
O takie coś chodziło .. musiałem tylko odrobinkę poprawić:
<?php if(!isset($last) || $last != mb_strtolower($row->nazwa[0])): ?> W kohana nie wolno się odnosić do nieistniejącej zmiennej (błąd) więc sprawdzam isset ... a dokładniej !isset - dzięki temu do pierwszego tytułu też na górze zostanie dopisana literka ![]() Dzięki ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 04:18 |