webForumDet fria alternativet

välj sökning

ASP

40 svar · 208 visningar · startad av crisse6 · sida 2 av 3

Frågan, av crisse6

tjabba! jag har gjort en väldigt enkel sökmotor för att söka igenom en databas. jag har några fält i tabellen users som finns i databasen som heter namn, efternamn, kon, osv.... om jag nu vill via formuläret som man söker i ska kunna välja om man vill hitta bara tjejer eller bara killar...så kan man ju lägga till en rullgardinsmeny i formuläret men hur blir det i asp-koden? så här ser den ut för

Läs frågan i sin helhet →
Medlem sedan dec. 20002 526 inlägg
#21

löste det med om "Inga resultat" med en liten if-sats innan jag hann läsa Rossifumis inlägg, tack ändå :e

så här gjorde jag, inte så tokigt av en nybörjare...eller?

<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
%>

<%
kon = Request.Form("kon")
ar = Request.Form("ar")
sokning = Request.Form("sokning")
SQL = "SELECT * FROM users WHERE (Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%') AND kon = '" & kon & "' AND ar = '" & ar & "'"
Set rsBra = databas.execute(SQL)
If rsBra.EOF then
Response.Write "Vi kunde inte hitta den grodan som du letade efter. Försök att vara lite mer exakt. *Kvack*"
else
Do Until rsBra.EOF

Response.Write "Förnamn: " & "<b>" & rsBra("Namn") & "<br>" & "</b>"
Response.Write "Efternamn: " & rsBra("Efternamn") & "<br>"
Response.Write "Emejl: " & rsBra("E-post") & "<br>"
Response.Write "Bor: " & rsBra("Bor") & "<br>"
Response.Write "Kön: " & rsBra("Kon") & "<br>"
Response.Write "Född: " & rsBra("ar") & rsBra("manad") & rsBra("dag") & "<br>"
Response.Write "Så här beskriver jag mig själv:" & "<br>" & rsBra("Fakta") & "<br>"

Response.Write "Nickname: " & rsBra("Username") & "<br>" & "<a href=""blikompis.asp?Username=" &  rsBra("Username") & """>Bli polare!</a><br><br>"
Response.Write "<img src=""hr.jpg"" width=""846"" height=""11"" border=""0"">" & "<br>"
rsBra.MoveNext
Loop
%>
<% End If %>
&nbsp;</font></td>
    </tr>
Medlem sedan dec. 20002 526 inlägg
#22

givetvis hade jag ju en fråga också!

om man vill ha en "räknare" där sökresultaten visar sig som te x visar "Vi hittade 10 st personer med det namnet" eller ngt sånt...hur gör man det... recordcount kanske?

Medlem sedan juli 2000355 inlägg
#23

Får upp fel,

Syntax error (missing operator) in query expression '(beskrivning LIKE '%test%' OR titel LIKE '%test%') AND kat ='.

Medlem sedan juni 200032 967 inlägg
#24

av någon anledning får inte variabeln kat något värde.

jag ser nu ingen utväg annan än att du postar koden till de båda sidorna som används.

mvh,

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

Medlem sedan dec. 19998 577 inlägg
#25

Har du verkligen med min If-sats? den skall ju inte lägga till någon "AND kat..." om kat inte innehåller något värde...

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

Medlem sedan juli 2000355 inlägg
#26

Nej jag hade inte med if satsen, la till den nu, men väljer jag ingen kategori så får jag bara upp en tom vit sida.

Medlem sedan dec. 1999653 inlägg
#27

crisse6: såhär skulle de kunna se ut kanske :)

<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
%>
<%
kon = Request.Form("kon")
ar = Request.Form("ar")
sokning = Request.Form("sokning")

[b]SQL = "SELECT Count(*) AS iAntalSvar FROM users WHERE (Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%') AND kon = '" & kon & "' AND ar = '" & ar & "'"
Set rsBra = databas.execute(SQL)

Dim iAntalSvar
iAntalSvar = rsBra("iAntalSvar")[/b]

SQL = "SELECT * FROM users WHERE (Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%') AND kon = '" & kon & "' AND ar = '" & ar & "'"
Set rsBra = databas.execute(SQL)
If rsBra.EOF then
Response.Write "Vi kunde inte hitta den grodan som du letade efter. Försök att vara lite mer exakt. *Kvack*"
else

[b]Response.Write "Vi hittade <b>"& iAntalSvar &"</b> grodor som matchade din sökning *wuaaää*"[/b]

Do Until rsBra.EOF

Response.Write "Förnamn: " & "<b>" & rsBra("Namn") & "<br>" & "</b>"
Response.Write "Efternamn: " & rsBra("Efternamn") & "<br>"
Response.Write "Emejl: " & rsBra("E-post") & "<br>"
Response.Write "Bor: " & rsBra("Bor") & "<br>"
Response.Write "Kön: " & rsBra("Kon") & "<br>"
Response.Write "Född: " & rsBra("ar") & rsBra("manad") & rsBra("dag") & "<br>"
Response.Write "Så här beskriver jag mig själv:" & "<br>" & rsBra("Fakta") & "<br>"

Response.Write "Nickname: " & rsBra("Username") & "<br>" & "<a href=""blikompis.asp?Username=" & rsBra("Username") & """>Bli polare!</a><br><br>"
Response.Write "<img src=""hr.jpg"" width=""846"" height=""11"" border=""0"">" & "<br>"
rsBra.MoveNext
Loop
%>
<% End If %>
 </font></td>
</tr>

har inte testat koden, men detta bör nog funka! :e

MVH

------------------
nakoz :)

Medlem sedan juli 2000355 inlägg
#28

Ingen annan som har något förslag, jag har försökt på alla sätt och vis för att få koden att funka men det vill sig inte.

Medlem sedan dec. 20002 526 inlägg
#29

Kent, det är så rörigt i detta ämne, kan du förklara igen hur du vill att det ska funka så kan vi nog hjälpa dig lättare :)

Medlem sedan juli 2000355 inlägg
#30

Man ska kunna välja ett sökord samt en kategori och söka på det, det funkar bra med ovanstående kod, men om man väljer ett sökord men sen ingen kategori så funkar inte det inte alls.

Medlem sedan dec. 20002 526 inlägg
#31

jag vet inte, men går det inte att ändra "AND" till "OR" eller????

Medlem sedan juli 2000355 inlägg
#32

Nej det funkar inget bättre.

Medlem sedan dec. 19998 577 inlägg
#33

Man ska kunna välja ett sökord samt en kategori och söka på det, det funkar bra med ovanstående kod, men om man väljer ett sökord men sen ingen kategori så funkar inte det inte alls.

Definiera "funkar inte alls"... :)

------------------
Jourhavande @e SweQuake.com

[Redigerat av Vide den 25 feb 2001]

Medlem sedan juli 2000355 inlägg
#34

En tom vit sida.

Medlem sedan dec. 19998 577 inlägg
#35

... och testade du min kod tidigare i denna tråd?

------------------
Jourhavande @e SweQuake.com

Medlem sedan juli 2000355 inlägg
#36

Det är den jag använder.

Medlem sedan dec. 19998 577 inlägg
#37

Okej, visa din SQL-sträng som den är nu... :)

------------------
Jourhavande @e SweQuake.com

Medlem sedan juli 2000355 inlägg
#38

Visst här kommer den,

kat = Request.QueryString("kat")
sokord = Request.QueryString("sokord")

SQL = "SELECT * FROM data WHERE (beskrivning LIKE '%" & sokord & "%' OR titel LIKE '%" & sokord & "%')"
If kat <> "" then 
SQL = SQL & " AND kat = " & kat & ""
Medlem sedan dec. 19998 577 inlägg
#39

Ifsatsen skall ligga på en och samma rad:

If kat <> "" then SQL = SQL & " AND kat = " & kat

Och har du lagt till en end If längre ned pga av denna if, så kan du ta bort den...

------------------
Jourhavande @e SweQuake.com

Medlem sedan juli 2000355 inlägg
#40

Ja nu funkar det.
Man får tacka så mycket för hjälpen.!

271 ms totalt · 4 externa anrop · v20260731065814-full.868a69e5
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)