Har et eksempel: Er det f.eks. mad, og man søger på is så vil chilISauce jo komme før is hvis man bare sortere på navn. Det er jo noget misvisende for søgeresultatet.
Så måske hvis man kunne lave en sætning der sagde Først kommer: felt = '$var' Så kommer: felt LIKE '$var%' Til sidst kommer: felt LIKE '%$var%'
Men skulle jo helst være uden det blev for tungt og helst i en SQL sætning
SELECT felt,1 AS relevans FROM dintabel WHERE felt = '$var' UNION SELECT felt,2 AS relevans FROM dintabel WHERE felt LIKE '$var%' AND felt <> '$var' UNION SELECT felt,3 AS relevans FROM dintabel WHERE felt LIKE '%$var%' AND felt NOT LIKE '$var%' ORDER BY relevans
SELECT felt FROM tabel WHERE felt LIKE '%$var%' ORDER BY CASE WHEN felt = '$var' THEN 1 WHEN felt LIKE '$var%' THEN 2 WHEN felt LIKE '%$var%' THEN 3 ELSE 4 END LIMIT 100
Kan du evt. sige noget om hvilken af de 2 måder der er bedst optimeret (server/database belastning)?
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.