Hej Eksperten, jeg søger i en database med denne query: "SELECT FoodId, DanName FROM FoodInfo WHERE DanName LIKE '%{$arr[$i]}%' ORDER BY DanName"
Det er så $arr[$i], der indeholder søgeordet. Men søger man på "mel" kommer der alt andet end mel-relateret svar, såsom marMELade, MELon og karaMEL.
hvordan kan jeg optimere søgningen så resultater som Hvedemel, boghvedemel osv. stadig kommer med?
Lidt info omkring database opbygning; "FoodInfo" indeholder 1050 forskellige fødevarer, "GroupName" er en opdeling af fødevarer i hovedgrupper og "Classif" indeholder undergrupper. Om det kan være til nogen hjælp ved jeg ikke helt.
Mød TrackMan og Veo på Computerworld Cloud & AI Festival og hør, hvordan tech ændrer måden, vi træner og udvikler talent – fra skolebold til The Masters.
Jeg vet ikke hvad de nævnte kategori felter indeholder, men du kan jo prøve at søge i flere felter.
"SELECT FoodId, DanName FROM FoodInfo WHERE GroupName LIKE '%{$arr[$i]}%' AND DanName LIKE '%{$arr[$i]}%' ORDER BY GroupName,DanName"
Dersom du har tilgang til at udfylde et ekstra "gruppe" felt, kan du prøve dette:
"SELECT FoodId, DanName FROM FoodInfo WHERE (GroupName = '{$group}' OR Classif LIKE '{$group}') AND DanName LIKE '%{$arr[$i]}%' ORDER BY GroupName,DanName"
SQL har mange muligheder ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.