Szűrők az online áruház
Az előző leckében megtanultuk, hogyan kell adatokat gyűjteni az ügyfél, és elküldi őket a szerverre. A szerver csonk írva a hely, ahol az árut vissza kell, szűrt a paramétereket. Most megszabadulni a csonk és írjon egy pár technikák és követelményeket, amelyek kihúzzák az alapja a megfelelő termékeket és vissza őket a kliens. A tanulság az elég rövid. Az első lépések
Mit csináljunk?
Azt kell tennie mind a 3 pontot kapott:- 1. Töltsd le az adatokat a kliens és feldolgozza azokat az kiszolgálónak. Például az letette az alapértelmezett beállításokat
- 2. Írj, sőt, maga a kód letölteni elemeket az adatbázisból. Először is, sql-előkészítési kérelmet
- 3. Állítsa vissza az adatokat a kliens
Beszerzése az ügyfél adatait
Lehet kérdezni, hogy miért kell kiosztani ezt az egyszerű műveletet külön, ha minden adat akkor könnyen kihúzni a tömb $ _GET?
Először is, annak érdekében, hogy tegye le az alapértelmezett értékeket. Akkor nem hivatkozhat arra a tényre, hogy az ügyfél gondoskodik róla.
Másodszor, nem minden adat a $ _GET használható formában. Például, válogatás egy ügyfél célszerű át egy paraméter formájában pole_napravlenie, például price_asc. De a sql lekérdezés egy különálló szervezet, így kell előkezelni.
Hasonló a helyzet a márka. A kliens, küldünk neki formájában egy sor márkák, és php fogadja őket is, mint egy tömb. De az sql-query string van szükség - márkák listáját, vesszővel elválasztva. Ezért márkák is tovább kell feldolgozni.
Tehát levelet függvény getOptions (), amely húzza az adatokat a $ _GET, és átalakítja őket, ideális forma minket. Szinte az összes input már azt mondta, hogy megnézem a kész kódot.
Aztán átalakítja a tömb márkák aydishnikov sor, vesszővel elválasztva. Ebben a formában a márka kell használni egy lekérdezést az adatbázisból.
Rendezés átalakítani másképp. Külön-külön, vegye ki a sort a területen, és a paraméter: növekvő vagy csökkenő.
Figyeljük meg, hogy minden esetben, ne felejtsük el, hogy helyettesítse a megadott értéken, ha a kívánt opció nem érkeztek meg az ügyfél. És most, amikor minden adatot átalakít, már csak azt kell, hogy azokat vissza a függvény egy asszociatív tömbben a return array ().
Felkészülés sql lekérdezés és kinyeri az adatokat az adatbázisból
Minden adat elő az előírt formában, és most írunk a lekérdezést, és végrehajtani. Ez a funkció is részt getGoods ($ options, $ kapcs). A paramétereket kap $ options - adatok elő az előző funkciót, és $ kapcs - objektumot az adatbázis kapcsolat, amit létrehozott az előző leckét. A mi feladatunk -, hogy írjon egy sql lekérdezés. úgy néz ki, általánosságban az alábbiak szerint:
Visszatérünk a termékeket az ügyfél
Ez a legegyszerűbb része a leckét. Nézzük meg a fedelet, írt az előző leckét.
Kicserélni ezt a kódot
Már hozzá egy pár sort: getOptions függvényében a kinyert adatok egy változó $ lehetőségeket. Aztán arra használta, hogy megkapjuk getGoods áruk, az eredmények alatt $ árut. És kibővített választ az ügyfél. Paraméteradat átnevezett lehetőségeket, és visszatért, hogy ne a tartalmát a $ _GET, és a már átalakított értékeket. És a visszaküldött áru paraméter tömb áru érkezett.
Ebben a leckében felett. Bár nem tudjuk használni az adatokat az ügyfél teszi ezeket a böngészőben - hogy fogunk foglalkozni a következő leckét. De mi mindig nyissa meg a konzolt, lök gombok és jelölőnégyzetek és győződjön meg róla, hogy a kiszolgáló minket a megfelelő termékeket.
Mi ellenőrizze az eredményt
Most, hogy egy minimális ára 20 ezer és módosítsa a rendezési az árak csökkentésére
Mint látható, ez már csak 2 áruk - egy Samsung megválni a helytelen Szűrés ár 17 ezer. És a megrendelt termékeket már éppen ellenkezőleg. Ha mindent helyesen, akkor látni fogja, hogy pontosan ugyanazt a képet.Akkor is játszani a konzolon, és biztosítja, hogy az adatok a megfelelő helyre is. A végén, a legfontosabb dolog - el akarja érni a megfelelő működéséhez a szűrő, vissza a helyes áruk listáját. Scatter az adatokat az oldalon, figyelembe véve a már kész layout - úgy néz ki, nagyon érdekes, de tekintve a fejlődés igen egyszerű. De nem fogom túltenni magunkat - további részletek a következő leckét.