Det som är intressant att veta är vilken databas du har, eftersom att ex. mySql har inbyggda funktioner för såndana ändamål.
Har en tabell vid namn "user" :
user
id
nick_name varchar(30)
first_name varchar(30)
family_name varchar(30)
(Inget konstigt med det)
Nu vill jag göra en sökning i denna där användaren ska kunna välja bort vissa namn med hjälp av att skriva - (minus) framför bortvalda ord är frågan hur SQL frågan blir.
om användaren skriver in "sture -karl" vill jag visa jag inte visa
"sture karlsson" inte heller "karl johansson"
Provade med att skapa frågan :
SELECT * FROM user WHERE ((nick_name LIKE '%sture%' OR first_name LIKE '%sture%' OR family_name LIKE '%sture%') ) AND (nick_name NOT LIKE '%karl%' AND first_name NOT LIKE '%karl%' AND family_name NOT LIKE '%karl%') ) ORDER BY nick_name, family_name, first_name
Funkade bra, men ni kanske har påpekande som jag gärna vill höra.


