Cum sa faci un multi-criterii de căutare site-ul php

Să examinăm această problemă pe un exemplu de mai multe criterii de căutare Catalog de site-ul, care prezintă bărci și șalupe de diverși producători și un număr mare de caracteristici. Suntem de acord că vizitatorul va fi capabil să caute produse prin următoarele caracteristici:

Implementarea pe scară largă de căutare este algebra implicat de logica. Despre operații logice cu aceleași funcții logice pot fi găsite în materialul „algebra Boolean (algebra logicii).“

Primele patru caracteristici opțiuni de vizitatori sugerează valorile minime și maxime (adică, căutat variante „de la“ și „la“), iar marca - o anumită valoare. Valorile criteriilor selectate din selectorul drop-down. Utilizatorul poate alege valoarea de numai un test (în acest caz, toate celelalte criterii au prezentat gama completă), unele sau toate criteriile.

Primul lucru pe care îl face - la toate sau anumite pagini din formularul de căutare site-ului locul mnogoriterialnogo. Codul său (explicație - după codul):

Explicațiile necesare codului rezultat. Să presupunem că prețul indicat în euro, astfel încât semnul # 8364. În continuare - un punct important: valoarea selectorului, implicit este afișat ca selectat, adică, ceea ce spune „de la“ și „a“ este egal cu „e“ (de la cuvântul gol - gol). Acesta este trecut la handler script-ul în cazul în care utilizatorul nu a selectat o valoare minimă sau maximă, sau ambele valori ale oricărui test. cerere script-ul de procesare din matriță interpretează valoarea „e“ este întreaga gamă de valori. Aceasta este, de exemplu, în cazul în care prețul nu este selectat, căutarea se va face între elementele din baza de date cu toate valorile prețurilor, precum și cele în care prețul nu este listat (și acest lucru se întâmplă, de exemplu, atunci când prețul încă format). Exact aceeași valoare de selectare rol „e“, joacă și alte criterii de căutare. De exemplu, dacă un utilizator caută un produs numai în lungime, atunci toate celelalte criterii au game complete de valori.

Urmatoarea - codul handler script care este plasat în formele handler de fișiere (de exemplu, search.php) și oferă o căutare multi-criterii în site-ul bazei de date. El, împreună cu codul de ieșire redus găsit în căutarea de bunuri. Explicații așa cum am convenit deja - după codul.

Explicația promisă. Prima condiție pentru valoarea fiecărui criteriu de căutare - valoarea „e“, adică, utilizatorul a selectat una sau ambele valori (minime și maxime) ale criteriului de căutare pe site. În mod alternativ, condiția (valoarea criteriilor de căutare sunt selectate) Valorile acceptate selectate criterii de căutare. Mai mult - opțiuni pentru a interoga baza de date site-ul pentru cazurile în care setarea nu este nici unul dintre criteriile de căutare este selectat de brand și valorile selectate ale tuturor criteriilor de căutare pe site. Cererea de bază de date site-ul este primit de la valorile selectate de utilizator a criteriilor de căutare (în cazul în care valoarea criteriilor de căutare este selectată de către utilizator în cererea primită valoarea de „O“ înainte de orice, evident, un exemplu extrem, „1000000000“, astfel încât toate valorile acestui criteriu în mod clar mai puțin de o valoare extremă în baza de date a site-ului). Implementarea pe scară largă de căutare este algebra implicat de logica. Construiți condiții logice complexe pentru căutare vă va ajuta materialul „algebra booleană (algebra logicii).“

Și pe operațiunile de manipulare a datelor din baze de date - materiale „algebra relațională“

Aici, probabil, totul. site pentru mai multe criterii de căutare este gata!

Partajați-le cu prietenii tăi