Kawałek Kodu

Co tu się odskryptala?! Czyli programistyczne porady na luzie

Były sobie ptaszki trzy, czyli blokada checkboxów.

Ku, być może smutkowi niekórych, dziś będziemy się zajmować checkbox'ami znanymi z formularzy HTML. Niestety nie żywymi ptaszkami. Cel do osiągnięcia jest następujący: dla grupy checkbox'ów mamy zablokować możliwość ich kliknięcia powyżej wybranej liczby. Np. mając 10 ptaszków chcemy umożliwić zaznaczenie tylko trzech.

Czytaj dalej

Marian, a czy ty pamiętasz o naszej rocznicy? Czyli jak wygenerować "kalendarz" w MySQL.

Zdarza się, że z jakiegoś powodu potrzebujesz ciągły zakres rekordów od określonej daty do innej zadanej daty. Czyli zakres potocznie zwany kalendarzem.

Można to osiągnąć na dwa sposoby:

  1. Utworzyć tabelę i zapełnić ją wartościami od 0 do X. A następnie taką tabelę łączyć poprzez CROSS JOIN z zapytaniem wybierającym datę startową i dodawac do daty wartości 0-X.
  2. Wygenerować wartości od 0 do X poprzez zapytanie i połączyć ją analogicznie jak powyżej.

Jak wygląda drugi sposób?

Czytaj dalej

Do pełna poproszę! Czyli array_fill w MySQL(?)

Czy można wyczarować rekordy znikąd? Jasne! I to bez magicznej różdżki!

Zaczniemy od najprostszego zaklęcia, które wyczaruje nam 10 rekordów z wartościami od 0 do 9.

SELECT 0 AS a UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9

Trochę mało. Jak wygląda drugie zaklęcie?

SELECT a.a+b.a*10 FROM 
(SELECT 0 AS a UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS a
  CROSS JOIN
(SELECT 0 AS a UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS b
Czytaj dalej

Po drugiej stronie lustra, czyli jak wywrócić suwak na lewą stronę.

Jeśli lubisz czasem zaszpanować, to dziś coś dla Ciebie. Suwak z blichtrem prawie od pstryknięcia palcem.
Zapewne zauważyłeś, że suwaki elementów na stronie HTML są umieszczone po prawej stronie. A czy jest możliwe umieszczenie scrollbara po lewej stronie?

Czytaj dalej

Ważą się czyjeś losy, czyli jak losować rekordy z wagą.

Jeśli trafiłeś na ten artykuł, to być może miałeś łut szczęścia. Nie musisz mieć jednak szczęścia, aby losować rekordy. W MySQL zazwyczaj używałeś do tego funkcji RAND. Co prawda ta funkcja samodzielnie nie losuje rekordu, ale w połączeniu z klauzulą LIMIT 1, daje to, czego od niej oczekujemy. Tyle, że nie zawsze, bo czasem człowiek chce czegoś więcej. I być może chciałeś losować rekordy z jakąś wagą, czyli niektóre wartości miały pojawiać się w wyniku częściej, a niektóre rzadziej.

Na razie nie przykładajmy uwagi do wagi.

Czytaj dalej

Plaga mrówek, czyli jak zmultiplikować rekordy zapytania.

Zazwyczaj tworząc zapytania w SQL unikamy jak ognia (albo jak mrówek) sytuacji, aby rekordy się duplikowały, triplikowały czy też...no właśnie, może ktoś z Was wie jak się nazywa czterokrotne lub pięciokrotne zwielokrotnianie rekordów?

Jednak dziś zajmiemy się sytuacją odwrotną. Chcemy z jakiegoś powodu, aby dany rekord pojawił się dwukrotnie, inny dziesięciokrotnie, a jeszcze inny pozostał pojedynczy.

Zacznijmy od końca:

Czytaj dalej