Filtrează în magazinul online

În lecția anterioară, am învățat cum să colectăm date despre client și să le trimitem pe server. Și pe server au scris un punct în locul unde ar trebui să se întoarcă bunurile filtrate după parametrii introduși. Acum, scapam de stub si scriem cateva metode si interogari care scoate produsele corecte din baza de date si le returneaza clientului. Lecția este destul de scurtă. Să începem







Ce vom face?

Trebuie să completați numai 3 articole:
  • 1. Obțineți date de la client și le procesați pentru nevoile serverului. De exemplu, setați parametrii impliciți
  • 2. Scrieți, de fapt, codul însuși pentru extragerea bunurilor din baza de date. Mai întâi de toate, pregătiți sql-query
  • 3. Returnați datele primite clientului

Primirea datelor de la client

Puteți întreba: de ce trebuie să separăm separat această operație simplă, dacă toate datele pe care le extragem cu ușurință din matricea $ _GET?

Mai întâi, pentru a seta valorile implicite. Nu puteți să vă bazați pe faptul că clientul va avea grijă de acest lucru.

În al doilea rând, nu toate datele sunt în $ _GET într-o formă utilizabilă. De exemplu, este mai convenabil pentru noi să trecem sortarea de la client la un parametru, sub forma unui direcționament, de exemplu, price_asc. Dar în SQL-interogare acestea sunt entități separate, de aceea trebuie să fie pre-procesate.

O situație similară cu mărcile. Pe client, le trimitem ca o serie de mărci, iar php le primește și ca o matrice. Dar pentru SQL-interogare, aveți nevoie de un șir - o listă de mărci separate prin virgule. Prin urmare, mărcile trebuie, de asemenea, să fie prelucrate ulterior.

Deci, scrie funcția getOptions (), care va scoate datele din $ _GET și transformă-o într-o formă convenabilă. Aproape toate introducerile pe care le-am raportat deja, așa că ne uităm imediat la codul finalizat.

Apoi, transformăm matricea de mărci într-un șir de virgule separate prin virgule. În această formă, brandurile vor fi folosite în interogarea către baza de date.







Sortarea este transformată în mod diferit. Desprindeți separat câmpul de sortare și parametrul: asc sau desc.

Rețineți că în toate cazurile, nu uitați să înlocuiți valoarea implicită dacă parametrul dorit nu vine de la client. Și acum, când toate datele sunt convertite, rămâne doar să le returneze din funcție în matricea asociativă prin matricea de întoarcere (.)

Pregătirea interogării SQL și extragerea datelor din baza de date

Toate datele sunt pregătite în forma corectă, acum vom scrie cererea și o vom executa. Acest lucru va fi gestionat de funcția getGoods ($ opțiuni, $ conn). În parametri, sunt necesare opțiuni $ - datele pregătite de funcția anterioară și $ conn - obiectul de conectare la baza de date, pe care am creat-o în lecția anterioară. Sarcina noastră este să scriem o interogare sql. În general, se arată astfel:

Returnăm bunurile clientului

Aceasta este cea mai simplă parte a lecției. Să ne uităm la pisica scrisă în lecția anterioară.

Vom înlocui acest cod cu

Am adăugat câteva linii: funcția getOptions extrage datele în variabila de opțiuni $. Imediat folosit în obtinerea bunurilor getGoods, rezultatele salvate în mărfuri $. Și a extins răspunsul la client. Parametrul de date a fost redenumit la opțiuni și nu i-a revenit conținutul lui $ _GET, ci valorile convertite. Și mărfurile au returnat o serie de bunuri primite.

Aceasta încheie lecția. În timp ce nu putem folosi aceste date pe client, atrage-le în browser - acest lucru vom face în următoarea lecție. Dar putem deschide întotdeauna consolele, butoanele și casetele de bifare și asigurați-vă că serverul ne întoarce bunurile corecte.

Verificați rezultatele muncii

Acum puneți prețul minim de 20 de mii și schimbați sortarea prin scăderea prețurilor

Filtrează în magazinul online
După cum puteți vedea, acum doar 2 produse - un Samsung respins din cauza prețurilor necorespunzătoare filtru de 17 mii. Și produsele sortate sunt opusul. Dacă ați făcut totul corect, veți vedea exact aceeași imagine.
Filtrează în magazinul online

Puteți continua să jucați cu consola și asigurați-vă că datele sunt returnate corect. În cele din urmă, cel mai important lucru este ca filtrele să funcționeze corect, să returneze lista corectă de bunuri. Răspândiți datele pe pagină, luând în considerare aspectul deja realizat - este aparent cel mai interesant lucru, dar din punctul de vedere al dezvoltării este destul de simplu. Dar nu voi merge mai departe - detalii în următoarea lecție.







Articole similare

Trimiteți-le prietenilor: