Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: Wojciech Sznapka, dodany: 30.06.2009 19:29, tagi: php

Dzisiaj światło dzienne ujrzała kolejna odsłona jednego z najpopularniejszych języków skryptowych – PHP oznaczone wersją 5.3. Wersja ta jest znacząca w rozwoju PHP, będąca swego rodzaju pośrednikiem pomiędzy wersją 5 a 6. Główne funkcjonalności wprowadzone w PHP 5.3 to: - przestrzenie nazw (ang. namespaces), pozwalające na jeszcze lepszą enkapsulację elementów, więcej: http://pl.php.net/manual/en/language.namespaces.php - funkcje anonimowe [...]

Autor wpisu: Zyx, dodany: 30.06.2009 16:13, tagi: php

Dzisiaj, po czterech wersjach RC ukazała się finalna wersja PHP 5.3.0. Wnosi ona stosunkowo sporo nowości w samym języku, ale wciąż zachowuje prawie kompletną wsteczną kompatybilność ze starszymi skryptami. O tym, co się zjawi, napisanych zostało wiele artykułów, również na tym blogu, dlatego skupię się na nieco innym aspekcie - wdrożeniu oraz mniej znanej funkcjonalności.

Autor wpisu: Athlan, dodany: 30.06.2009 11:46, tagi: sql

Ostatnimi czasy potrzebowałem danych z sąsiedniej tabeli przy UPDATE jedngo z pól w bazie danych. Danych do przetworzenia było sporo, więc zwracałem uwagę na wydajność zapytania. Aby zebrać potrzebne informacje, można użyć jednego ze sposobów:

  1. Zebrać potrzebne dane za pomocą SELECT‘a, co sprawiłoby, że zajęta zostanie niepotrzebna pamięć w środowisku PHP podczas przypisania rezultatu do zmiennej.
  2. Wykonać SET z podzapytaniem, ale potrzebnych mi było kilka kolumn z sąsiedniej tabeli, podzapytanie może zwrócić tylko jedną określoną wartość.
  3. Wykonać JOIN przy update, czego niestety wówczas nie potrafiłem zrobić.

Kartkując manual nie natrafiłem się w standardowej dokumentacji na nic konkretnego, aż nie spojrzałem na bardzo przydatne komentarze użytkowników. Okazało się, że przy UPDATE można wykonywać dowolne JOIN‘y, schemat jest następujący:

UPDATE table JOIN another_table SET ...

W tym momencie mamy do dyspozycji wszystkie pola z dołączonej tabeli. Bardzo przydatne.

Przykład z życia.

Miałem za zadanie odznaczyć typy bukmacherskie na trafione, nietrafione, odwołane z przyczyn odwołania całego meczu piłkarskiego oraz te, które jeszcze nie mogą zostać oznaczone jako trafione lub nie, gdyż mecz się jeszcze nie odbył.

UPDATE typer_tickets_items LEFT JOIN typer_events ON(event_id = item_event) SET item_status = ( CASE WHEN event_status IS NULL THEN NULL # mecz nie zostal rozegrany WHEN event_status = -1 THEN -1 # mecz anulowany WHEN event_status = item_bet THEN 1 # typ trafiony ELSE 0 END # typ nietrafiony ) WHERE item_status IS NULL

Mam nadzieję, że komuś się przyda…

Autor wpisu: eRIZ, dodany: 23.06.2009 16:25, tagi: php

Jakiś czas temu Mateusz poprosił o parę słów na temat stanowiska do webdeveloperki na maszynie pracującej pod kontrolą Windows. Zagadnienie nie jest takie banalne, na jakie się wydaje, gdyż pierwotnie to systemy Unixowe były projektowane bardziej dla developerów, potem zaczęto myśleć o ZU. Natomiast w przypadku Windows można powiedzieć, że sytuacja była odwrotna.

Sam pracuję pod Windows (z wyboru, nie z przymusu), niektórzy pewnie też próbują; postaram się udowodnić, że wbrew obiegowym opiniom i pod Oknami da się wygodnie kodzić.

Grunt, to odpowiednio przygotowane środowisko, bo łyżeczką jeziora nie wykopie. [;

Autor wpisu: stormfly, dodany: 20.06.2009 14:31, tagi: sql

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. Zacznijmy...

Autor wpisu: thejw23, dodany: 18.06.2009 18:11, tagi: css

na angielskim forum kohany 'padl' link do ciekawego projektu - DtCSS - jest to parser plikow css napisany w php. uruchamia sie go odpowiednim poleceniem w .htaccess (1 linijka), nastepnie kazdy wczesniej zdefiniowany plik (moze to byc kazdy .css, moze tez np. tylko te ktore koncza sie na .parse.css, czyli tylko te w ktorych chcemy uzyc parsowania) jest najpierw parsowany, nastepnie cache`owany i na koniec serwowany przegladarce. po co to wszystko? zastosowan moze byc wiele, ja widze rozwiazanie, dla mnie bardzo denerwujacego problemu - sciezki url w plikach css. strony na komputerze lokalnym mam na wirtualnych serwerach, czyli odwoluje sie do nich bez podkatalogow. na serwerze testowym czesto jednak pracuje na stronach w podkatalogach, aby aktualna wersja do momentu skonczenia nowej byla nietknieta i caly czas dostepna pod glownym adresem. frameworki pozwalaja mi zapomniec o problemach z odwolaniami w linkach czy sciezkami do plikow/obrazkow. javascript rowniez jest do obejscia, raz definiuje adres bazowy i reszta skryptow z niego korzysta. co jednak z plikami css? adresami url do obrazkow jakie w nich sie znajduja? ano do tej pory nic. kazdy z nich recznie edytowalem i poprawialem wszystkie sciezki. ale byc moze z DtCSS to sie skonczy, umozliwia on bowiem stosowanie zmiennych, czyli tak jak w .js raz okresle url bazowy i parser sam go przepisze na wszystkie odwolania. przyklad jest tutaj razem z opisem instalacji. wiecej mozna przeczytac na pozostalych stronach wiki. skrypt umozliwia np. instrukcje warunkowe, grupowanie wyrazen, daje dostep do operacji arytmetycznych itd. sprawdzic na pewno warto. moje pierwsze wrazenia sa pozytywne. na pewno blizej sie DtCSS zapoznam, zobaczymy jakie minusy sie znajda.

Autor wpisu: Damian Tylczyński, dodany: 17.06.2009 23:40, tagi: internet

Opera prezentuje swoją nową technologię, Unite, czyli serwer WWW i wszystkie usługi z nim związane dostępne dla każdego, jako jeden z dodatków do przeglądarki. Ich widżety były niewypałem, ale tym razem pomysł i wykonanie pomimo, że nie rewolucyjne prezentuje się doskonale. A może jednak spóźnili się i uprzedził ich Google Wave? Zachęcam do zapoznania się [...]
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.