webForumDet fria alternativet

Sökning.

ASP

13 svar · 172 visningar · startad av Kent

Medlem sedan juli 2000355 inlägg
Frågan#1

Varför fungerar inte denna kod,

<%
sokning = Request("sokning")
SQL = "SELECT * FROM data WHERE beskrivning LIKE '%" & sokning & "%' OR rubrik LIKE '%" & sokning & "%' OR kat LIKE '%" & sokning & "%'"
Set RS = databas.execute(SQL)

Do while not RS.EOF 
%>
<%=RS("resultat")%>

<%
RS.MoveNext
Loop
%>

jag får inte upp något felmeddelande utan resultaten skrivs inte ut.

Medlem sedan juli 2000103 inlägg
#2

Vad sägs om att byta ut...

Request("sokning")

mot...

Request.Form("sokning")

------------------
That you're paranoid doesn't mean you're not being monitored...
Monitora

Medlem sedan dec. 20002 526 inlägg
#3

tackar...

fick lite hjälp där med min sökning... fick inte heller den att skriva ut ngt, men nu :e

Yeah baby!

Medlem sedan juli 2000355 inlägg
#4

Nja, jag får det inte att funka ändå.?

Medlem sedan juni 200032 967 inlägg
#5

vad är det som inte funkar?
felmeddelande?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan juni 200032 967 inlägg
#6

ok, nu läste jag originalfrågan bättre, ;)

låte mig fundera en aning...

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan dec. 20002 526 inlägg
#7

jag har gjort det enkelt för mig så här funkar mitt:

formulär, mata.asp

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>sökning</title>
</head>

<body bgcolor="white" text="white" link="white" vlink="purple" alink="red">

<form name="[b]sokning[/b]" method="post" action="search.asp">
<p><input type="text" name="[b]sokning[/b]"></p>
<p><input type="submit" name="sokord" value="s&ouml;k"></p></form>

</body>

</html>

search.asp

<html>
<body>
<font face="Verdana" size="1">
Här visas dina träffar:<br><br><b>
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("ringsignaler.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
%>

<%
'Du ser här va att dom heter likadant
sokning = Request.Form("[b]sokning[/b]")
SQL = "SELECT * FROM melodier WHERE artist LIKE '%" & sokning & "%' OR toner LIKE '%" & sokning & "%'"
Set RS = databas.execute(SQL)

Do while not RS.EOF 
%>

Artist: <%=RS("artist")%> <br>
Tonerna: <%=RS("toner")%>
<%
RS.MoveNext
Loop
%>

</font></b>
</body>
</html>

är du säker att formulärnamnet stämmer överens med med det du har på sidan som ska presenteras? Om du inte fattar vad jag menar så markerar jag med fetstil :e

Medlem sedan juni 200032 967 inlägg
#8

det kan inte vara så att sql-frågan inte genererar några sökträffar?

du råkar inte ha on error resume next på din sida över detta stycke? ta bort det i så fall...

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan juli 2000355 inlägg
#9

Jag får inte upp något felmeddelande,
resultaten visas bara inte.
Testade att byta ut mot din kod crisse6 men då skrivs alla inlägg ur databasen ut, vad jag än söker på.

Medlem sedan juni 200032 967 inlägg
#10

om alla poster visas så är sokning tom.

jag tror att det är dags att du använder response.write för att skriva ut din färdiga sql-fråga, då man enkelt kan se om det är något värde som saknas eller något som ser konstigt ut.

har du verkligen ett formulärfält som heter sokning? använder du metoden post eller metoden get i ditt formulär?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan juli 2000355 inlägg
#11

Så här ser formuläret ut,

<form action="default.asp">
<input type="text" size="25" name="sokning">
<input type="submit" value="Sök.">

Medlem sedan dec. 20002 526 inlägg
#12

jag tror du måste välja om du ska ha GET eller POST så här borde ditt formulär se ut:

<form name="sokning" method="post" action="default.asp">
<input type="text" name="sokning">
<input type="submit" name="sokord" value="s&ouml;k."></form>

testa nu, det ska funka som forumlät iaf :e

Medlem sedan juni 200032 967 inlägg
#13

när man inte anger method i <form>-taggen antas metoden get.

det betyder att du måste hämta värden med request.querystring från ditt formulär om du inte anger metoden post.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan juli 2000355 inlägg
#14

Ja nu verkar det funka bättre när jag la till en QueryString.
Tack för hjälpen @nders.
Testade även din formulär lösning crisse6 men det verkar inte göra någon skillnad.

266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)