Kanske det beror på att du inte sätter kat till något värde innan det används?
OR kat LIKE '%" & kat & "%'"
I så fall blir det
OR kat like '%%'
som matchar vad som helst
17 svar · 324 visningar · startad av Kent
Html sidan ser ut så här,
<form action="default.asp">
<input type="text" size="25" name="sokning"><br>
<select name="kat"><option value="1">Val 1
<option value="2">Val 2
<option value="3">Val 3
</option><br>
<input type="submit" value="Sök.">
och asp koden så här,
sokning = Request.QueryString("sokning")
SQL = "SELECT * FROM data WHERE beskrivning LIKE '%" & sokning & "%' OR rubrik LIKE '%" & sokning & "%' OR kat LIKE '%" & kat & "%'"
Set RS = databas.execute(SQL)
varför söker den inte igenom select satsen.?
Kanske det beror på att du inte sätter kat till något värde innan det används?
OR kat LIKE '%" & kat & "%'"
I så fall blir det
OR kat like '%%'
som matchar vad som helst
Nej det funkar inte någon bättre.
det larsg menar är: lägg till följande rad ovanför din select-fråga:
kat = Request.QueryString("kat")
du har dessutom glömt att avsluta din select-tagg i formuläret.
mvh,
Nope funkar inte bättre för det.
vad är det som inte funkar
vad får du för resultat av det hela?
felmeddelande?
Nope inget felmeddelande,
den tar bara inte fram den valda kategorin.
Om du endast vill ha en viss kategori så borde väl din fråga vara så här istället:
SQL = "SELECT * FROM data WHERE (beskrivning LIKE '%" & sokning & "%' OR rubrik LIKE '%" & sokning & "%') AND kat LIKE '%" & kat & "%'"
Man ska både kunna välja ett ord och en kategori samtidigt och söka på det, eller bara välja en kategori och få fram allt under just den kategorin.
Testade iallafall din kod men den funkar inte ändå.
I så fall så får du bygga olika selectsatser beroende på vad man skall söka.
Jo det går ju, men sökningen ska vara som jag beskrev ovan.
Ingen som har någon lösning på mitt problem.?
Ja du, om du skulle börja med att ändra metoden för method, typ till POST eller GET.
Använd Request.QueryString vid (GET) och Request.Form vid (POST).
========
Ex. för post.html, som vi kallar den!
<form action="default.asp" method="post">
<input type="text" size="25" name="sokning">
<br>
<select name="kat">
<option value="1">Val 1</option>
<option value="2">Val 2</option>
<option value="3">Val 3</option>
</select>
<input type="submit" value="Sök.">
</form>
===================
Ex. default.asp
<%
Dim sokning, kat
sokning = Request.Form("sokning")
kat = Request.Form("kat")
SQL = "SELECT * FROM data WHERE beskrivning LIKE '%" & sokning & "%' OR rubrik LIKE '%" & sokning & "%' OR kat LIKE '%" & kat & "%'"
Set RS = databas.execute(SQL)
%>
Om detta nu inte fungerar så kan du väl trixa lite med SQL-raden, så löser det sig säkert.
Nej den koden funkar inget bättre än dom övriga.
Måste man använda POST eller GET.?
Ja, för du måste ha en sådan funktion, som säger vad som ska hända!
Nja, ganska sant. Anger du ingenting så kommer default att slå in, vilket är GET...
He he... visst! Men det är vad man har fått lära sig!! Har ni hittat nån lösning på detta än???
Medans jag satt där framför datorn och funderade, så tänkte jag.... Efter som du söker på en specifik kategori,
Varför inte ändra till kat='" & kat & "'"! Kan ju hända att det fungerar bättre då!!! För du söker väl inte efter någon kategori som liknar ungfär den!! El?