Poprzednia / następna pozycja
Mechanizm bardzo przydatny, umożliwiający przechodzenie do następnego lub poprzedniego rekordu z poziomu wybranego już rekordu. Dzięki temu użytkownik nie musi wracać do listy czy też z poziomu listy otwierać dziesiątek stron w osobnych zakładkach by je wszystkie przejrzeć.
Rodzic i dziecko kategorii / typu
Jednym z elementów rozbudowanego systemu CRM, nad którym pracuje był wybór typu projektu z podziałem na główny typ oraz podtyp. Można to zrealizować poprzez stworzenie dwóch tabel (typy i podtypy połączone relacją) lub jednej (wykorzystując kolumnę, która będzie przechowywać informację o rodzicu). Oba rozwiązania mają jeden większy problem do rozwiązania, jeśli będziemy chcieli dać wybór pozycji poprzez jedno pole typu <select> trzeba to najpierw posortować. We wpisie skupię się na przykładzie z jedną tabelą.
Poprawianie kodu po kimś
Jednym z najbardziej lubianych zajęć programistów jest grzebanie i naprawianie kodu po innych programistach. Dzisiaj miałem tą przyjemność i oczywiście nie wiadomo było czy się śmiać czy załamać :)
CREATE INDEX - przyspieszenie zapytań
Pora sobie odpowiedzieć na pytanie kiedy i w jaki sposób warto zastosować index by przyspieszyć nasze zapytania.
Sprawdzanie czy termin jest wolny
Wydawałoby się, że sprawdzenie czy w danym terminie są wolne pokoje to coś prostego. Przysporzyło mi to jednak dość dużo problemów i z pomocą przyszedł mi CoYoT (#php.pl), który podesłał mi gotowe zapytanie, które sam kiedyś opracował.
Mod rewrite - nazwa folderu taka sama jak nazwa pliku php
Udało mi się zdiagnozować ciekawy przypadek kiedy regułka rewrite nie działa tak jakbyśmy się tego spodziewali. "Winą" za to obarczam Apache, który posługuje się magicznymi sztuczkami.
DISTINCT MySQL vs PostgreSQL
Pomagałem dzisiaj na IRCnet (#php.pl) w zapytaniu do bazy MySQL, które polegało na wybraniu rekordów z najmniejszą ceną pogrupowanych według wybranej kolumny. Bardzo szybko napisałem jak to ma wyglądać w PostgreSQL, ale niestety w MySQL użycie DISTINCT jest trochę ułomne.
Systemy szablonów - podsumowanie
Nadeszła pora na podsumowanie tematu systemów szablonów. Nie da się ukryć, że większość aktywnych programistów nie widzi już potrzeby korzystania z systemów szablonów. Świadczą o tym wpisy na blogach zagranicznych np. Paul M. Jones czy Hasin Hayder, który nawet napisał swego czasu książkę o Smarty. Warto także dodać, że do powolnego odchodzenia od Smarty (bo to głównie ten system szablonów był używany) znacząco przyczynił się brak nowej wersji, która nota bene właśnie nie dawno wyszła w wersji 3.0 alpha. Spóźnili się jednak o kilka lat. Powinno to wyjść w tym samym czasie co PHP5.
PHP Savant
Po dłuższej przygodzie ze Smarty oraz krótszej z OPT spróbowałem Savant. Jest to system szablonów oparty o natywne PHP, a nie dodatkowy język szablonów, który byłby "kompilowany" do PHP. Moja notka zbiegła się akurat z nową wersją strony Savant i przejęciem projektu przez Brett Bieber o czym można przeczytać na blogu twórcy Savant - Paul M. Jones.
Pagerank, site, backlinks
Niedawno na forum PiO zdeklarowałem się, że napiszę skrypt, które podaje liczbę stron i linków wybranych stron w wyszukiwarkach. Sprawa prosta, ale trzeba było znaleźć trochę czasu. Drugi skrypt, który był w planach to sprawdzanie czy na wybranej stronie istnieje link do naszej strony. Bardzo przydatne jeśli wymieniamy się z kimś linkami.
