Wzorzec obserwator

2009-03-24 13:37:09

 

Wzorzec obserwator to moim zdaniem jeden z ciekawszych wzorców jakie wymyślono. Korzystam z niego od dłuższego czasu i muszę powiedzieć jest bardzo przydatny. Bardzo pomaga w wyodrębieniu funkcjonalności oraz zapobiega wrzucania wszystkiego do jednego wora.

Grupowanie wyników

2009-03-17 17:52:55

 

Dosyć często spotykam się z pytaniem, jak napisać grupowanie wyników, czyli np. mamy produkty które należą do kategorii i jak wyświetlić wszystkie kategorie wraz z należącymi do nich produktami. Początkujący programiści albo nie wiedzą jak to zrobić, albo robią to przy użyciu wielu zagnieżdżonych zapytań, co niezbyt dobrze wpływa na wydajność aplikacji.

ShoutBox dla joomli bez strony głównej

2009-03-17 17:01:35

 

Na liczne wnioski i protesty dodałem możliwość używania modułu shoutbox dla Joomla bez konieczności wystawiania go na stronie głównej.

Moduł ShoutBox dla Joomla

2008-09-10 21:11:53

 

Z racji, iż od czasu do czasu byłem proszony o moduły ShoutBox'a pod różne systemy, postanowiłem wkońcu przy odrobinie wolnego czasu napisać moduł pod Joomla. Moduł był testowany na najnowszym wydaniu Joomla 1.5.6.

ShoutBox - zarządzanie IP

2008-06-30 19:57:10

 

Wraz z wydaniem ShoutBox 1.2 doszło zapisywanie adresów IP. Brakowało jedynie narzędzia do zarządzania tymi adresami. Obiecałem, iż wkrótce napiszę komendę na tę okazję, co też uczyniłem i dziś publikuję.

Wyszukiwarka - zapytanie zależne od warunków

2008-06-23 19:53:47

 

Często piszemy wyszukiwarki. Jaka ich rola? Banalnie prosta - na podstawie zadanych kryteriów znaleźć żądane informacje. W tym celu tworzymy zapytanie, które zawiera nasze kryteria wyszukiwania. Zadanie wydaje się proste, jednak wielu początkujących programistów ma z tym problem. Bo o ile potrafią napisać zapytanie, które składa się ze stałej liczby warunków, o tyle z zapytaniem ze zmienną liczbą warunków, uzależnioną od wpisanych wartości w formularzu, mają już problem. W artykule tym postaram się Wam pomóc w oswojeniu tego zagadnienia.

ShoutBox 1.2

2008-06-16 15:20:01

 

Prezentuję kolejną wersję ShoutBox 1.2. Wizualnie w zasadzie nic się nie zmieniło. Główne zmiany dotyczą poprawienia funkcjonalności i łatwości użycia.

PHP - FAQ

2008-05-24 12:31:28

 

Przedstawię tu faq odnośnie php. Niby dużo tego jest w sieci, jednak przeglądając fora i zadawane pytania, śmiem twierdzić, że za mało... albo ta nasza "młodzież" zaleniwa jest by do nich zaglądać... tak czy siak "dobrego" faq nigdy za duzo

Pager 2.5.1 oraz EPager

2008-05-17 17:58:29

 

Po dość długim okresie milczenia wrzucam nową wersję Pagera. Wnosi ona parę drobnych poprawek.
Dołączam dodatkowo klasę EPager, która dziedziczy po Pager i rozszerza go o parę ciekawych rzeczy:

  • Automatycznie wyliczanie liczby rekordów
  • Automatyczne rozpoznawanie sortowania
  • Automatyczna generacja wynikowego zapytania na podstawie dwóch powyższych wyliczeń

Co nam to daje? Ano to, że nie musimy się już martwić o budowanie zapytania które będzie stronicowało, które będzie sortowało. Wszystko to zostania samo utworzone na podstawie podstawowego zapytania i podaniu nazw kolumn po których będzie można sortować.
Czyli zamiast tworzyć takie zapytanie na podstawie różnych czynników:

1
select * from tabela order by pole asc limit 10,5

to tworzymy tylko takie:

1
select * from tabela

i o nic już się nie martwimy

Klasa dostępna w paczce 2.5.1 w katalogu epager.

ps: Przykład korzystać będzie z bazy danych. Niezbędne zapytania dostępne są w pliku epager.sql w katalogu epager.

ShoutBox - błąd cache'owania

2007-11-02 10:11:09

 

Dzięki testom użytkownika fomicza wyszło na jaw, że ShoutBox od wersji 1.0 wzwyż ma błąd. Wynikiem tego błędu jest ciągłe odwoływanie się do bazy danych po nowe wiadomości, nawet gdy tych nie ma. Założeniem ShoutBoxa było, by odwoływać się do bazy tylko wtedy, gdy pojawią się nowe wiadomości, a tu taki bug... Wszystkie wersje od 1.0 wzwyż są już na serwerze w wersji poprawionej. Błąd można poprawić również samemu. W tym celu należy edytować plik ShoutBox.class.php i znaleźć tam funkcję Read a w niej następujący kod:

1
2
3
<?php
if (is_null($_lastId) || $_lastId >= $this->_idMsg){
?>

i zamienić ją na:

1
2
3
<?php
if (is_null($_lastId) || $_lastId $this->_idMsg){
?>

Jak zapewne zauważyliście, znalazł się o jeden znak za dużo (=).

<  1  2  3  4    >