Calendar din mysql, dezvoltare web

Am intrat într-un fel în comunitatea ru_perl pe calendarul pentru luna curentă, care se transmite printr-o singură interogare SQL. Mi-a plăcut foarte mult, vreau să o împărtășesc (:

Aici voi da calculele din postul în sine, sper că nu trebuie să specificați drepturile de autor. Voi adăuga informații scurte despre operatori și funcții.

În primul rând, luăm cifrele cu o marjă:

Operatorul UNION este folosit pentru a combina activitatea mai multor SELECT-uri. Numele sau aliasul coloanei solicitate în primul SELECT este apoi utilizat pentru ieșire. Tipurile de date din fiecare dintre interogări trebuie să se potrivească, altfel în funcție de versiunea masika fie cea mai mare este selectată, fie celelalte sunt trunchiate. ALL înseamnă că toate înregistrările vor fi selectate, nu doar cele unice. În cererea noastră, acest lucru nu este necesar.
De asemenea, utilizează denumirea subdotării (ca t) după FROM. Acest lucru este necesar, pentru că toate tabelele din clauza FROM trebuie să fie numite. Am această bucată de interogare ori buggy pe un Mashiko stabilit pe plan local (prin phpMyAdmin), dând # 1146 - tabelul „mysql.t“ nu există.
Să revenim la calendar. Restricționăm numărul de zile din ultima coloană. Pentru a face acest lucru, trebuie să știm numărul de zile din luna SELECT DAYOFMONTH (LAST_DAY (NOW ())).
ACUM prevede data curentă, LAST_DAY se întoarce în ultima zi a lunii pentru o anumită dată în forma AAAA-LL-ZZ, DAYOFMONTH dă zi a lunii.

Rămâne să fii tentant că luna nu începe întotdeauna de luni. Acesta este modul în care învățăm ziua primei zile, ținând cont de obiceiul burghez al funcției DAYOFWEEK de a începe săptămâna de duminică:

Articole similare