Filtrare pe trei niveluri

Filtrarea pe trei niveluri, prin folosirea puţină spre deloc a JavaScript-ului (nu sunt fan-ul lui din varii motive) a fost o provocare intensă.. Astfel, redau mai jos codul pentru o exemplificare în care, după alegerea ţării, statului/regiunii/judeţului şi a localităţii, să fie afişate persoanele din acea localitate, pe companii.

În exemplul folosit, persoanele sunt fictive, orice coincidenţă de nume fiind pur întâmplătoare. De asemenea, exemplificarea este funcţională pentru situaţia României, deşi combobox-urile vor fi populate pentru întregul glob..

Codul Javascript va fi inserat, de dorit, între etichetele head, fiind necesar pentru a încărca conţinutul listelor de judeţe şi localităţi, datorită funcţiilor aferente evenimentului OnChange; primul combobox este populat la încărcarea paginii, neavând nevoie de „ajutor”.

Cele trei interogări necesare populării fiecărui combobox sunt următoarele:

Formularul aferent este redat mai jos. De menţionat că, afişarea se va face datorită scriptului this.form.submit() aferent evenimentului OnChange din ultimul combobox.

După cum se observă, pentru a elimina filtrele, formularele se încheie cu un link de resetare. Rezultatul filtrării va fi redat conform codului de mai jos.

Aşadar, tot acest script poate fi inserat într-un fişier php, care va avea în introducerea sa, după cum este şi firesc, codul necesar conectării la baza de date.


  1. Adaptare după Plus2Net.com
  2. Surse pentru „inventarea” de nume şi prenume: Wikipedia
    Surse pentru baza de date privind oraşele lumii, realizată prin prelucrarea:
    SimpleMaps.com
    Europa.eu
    GitHub.com

Author: Ovidiu.S

Suficient de pasionat de această zonă profesională ca, în cazul în care ştiu ceva - cât de puţin - să împărtăşesc cu alţii.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *