Jag håller på att göra en enkel kopia av en sökfunktion som ska likna blockets. Jag har ett formulär som innehåller:
Sökord
Kategori
Län
Jag har lyckats så långt att jag kan söka på ord och få upp resultat på min resultatsida, men nu vill jag även kunna nicha sökningarna med län och kategorival!
Min SQL-kod är
SQL = "Select * from annonser Where rubrik LIKE '%" & Request.Form("sokord")& "%'"
Hur ska jag fortsätta för att få in län? AND län=Request.Form("län") osv... ??
Eller kommer detta AND syfta på rubriken??
Om jag har förstått dig rätt, så är det precis som du har gjort, men att du lägger till AND län=Request.Form("kategori") i din SQL-fråga, eftersom din DropDownList heter kategori
Tänkte lite fel i mitt förra inlägg, sorry. Funkar det inte såhär?
SQL = "Select * from annonser Where rubrik LIKE '%" & Request.Form("sokord")& "%' AND Län='" & Request.Form("Län") "'"
Kan inte klassisk Asp, men kan inte riktigt se problemet. Sen så ska du inte ha specialtecken i koden, som åäö.
ÅÄÖ är jag medveten om, ska fixa till det så allt heter som den första variabeln "sok"
Det är säkert inte svårt, jag är bara dum ibland xD Asp:n tror jag nog jag har koll på, var bara själva SQL-frågan jag undra om, men ska testa nu och se vad som händer. Återkommer :)
Jag föreslår att du tar ut Request.Form("lan") och Request.Form("sokord") i egna variabler och dubbelkollat att den endast innehåller något av de värde du förväntar dig att den skulle innehålla. Ett grundläggande test man bör göra på all indata är att se till att använda escape-tecken framför '.
Om någon söker i din databas på sökordet: "%'; DROP TABLE annonser; --" så har du blivit av med hela din tabell (och även om du skulle ha bra säkerhet i SQL-servern som stoppar detta kan de nog ställa till mycket ofog med radering av annonser).
262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25