sql >> Database teknologi >  >> RDS >> Mysql

Tæl søgekriteriepost baseret på søgning udført af bruger (MYSQL PHP)

Jeg har prøvet at gøre dette før, og det kan blive meget langsomt, afhængigt af hvor mange filtre du tillader og hvor mange hoteller du angiver, for ikke at nævne hvordan du håndterer duplikerede hoteller.

I sidste ende vil du dog have meget få filtermuligheder

  • Ejendomstype:normaliser dette i en separat tabel
  • Soveværelser :Gem dette som en lillebitte eller en lille (enten usigneret), kan ikke forestille mig, at der er ejendomme over 255 soveværelser og bestemt ikke over 65k
  • Placering :normaliser dette i en separat tabel, ideelt set i et træformat for at sikre, at relationer noteres
  • Stjernebedømmelse:dette kan gemmes som en lillebitte usigneret

Nu er dit problem her, at hvis nogen anvender et filter for 3 soveværelser opad, bør du stadig få værdier for 2 soveværelser, 1 soveværelse, da det vil give resultater at ændre filteret tilbage til det.

I slutningen af ​​dagen adresserede jeg dette ved hjælp af en meget stor hukommelsestabel, noget logik til at bygge WHERE og JOIN-sætninger og en individuel forespørgsel, der tæller poster op i en sæt gruppering. Dette var dog for at gøre det samme som brugernes feriesøgeresultater, og som sådan blev dataene betragtet som helt forbigående. Til dine formål er en langt mindre hukommelsestabel sandsynligvis acceptabel, men princippet er det samme.



  1. Anonymisering af indirekte identifikatorer for at sænke risikoen for gen-ID

  2. Sådan erstattes NULL med en anden værdi i SQL Server – ISNULL()

  3. PHP MySQL:Gemmer PDF til database

  4. standard en kolonne med tom streng