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.
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.