webForumDet fria alternativet

Söka i databasen

ASP

1 svar · 130 visningar · startad av costodia

Medlem sedan aug. 2000864 inlägg
Frågan#1

Jag håller på med en sökfunktion till min databas på http://www.costodia.com/lund/010111/search1.asp koden ser ut så här

<Html>
<head>
<Title>Sök i Forumet</Title>
</head>

<body>
<p align="center">Sök i forumet!</p>
<p align="center"> </p>
<Div Align="center">
<table border="1" width="505" height="25" bgcolor="#A0B0C0">
  <tr>
    <td width="505" height="19">
    	<Form action="search.asp" method="Get">
            Sökningstext
    		<Br>
    		<Input type="Text" Name="Searchtext" Size="30">
           <Br>
           Sök på titel
           <input type="radio" value="Titel" checked name="Typ">
           <Br>
           Sök i inlägg
           <input type="radio" name="Typ" value="Tabell1">
       	<Input type="hidden" name="sida" value="2">
           <p><input type="submit" value="Sök"> <input type="reset" value="Töm sökfältet"></p>
       
       </Form>
    </td>
  </tr>
</table>
<%
Sida = Request.Querystring("sida")
Typ = Request.Querystring("Typ")
SearchText = Request.Querystring("Searchtext")

If (Sida) = "2" Then
	
	Set Db = Server.CreateObject("ADODB.Connection")
	db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("../sökväg/db1.mdb")
	
	Function FixaTecken(sfix)

	sfix = Replace(Trim(sfix), "'", "''")
	sfix = Replace(sfix, "&#0124;", "")
	FixaTecken = sfix

End Function
	
	If (Typ) = "Titel" Then
		SQL = "Select * From Tabell1 Where 02 Like'%" & FixaTecken(SearchText) & "%' Order By id Desc"
	ElseIf (Typ) = "Inlagg" Then
		SQL = "Select * From Tabell1 Where 01 Like'%" & FixaTecken(SearchText) & "%' Order By 01 Desc"
	End if
	
	Set Rs = Db.Execute(SQL)
	%>
<%=searchtext%>
<br><br>
<table border="0" width="503" bgcolor="#A0B0C0">
  <tr>
    <td width="503" colspan="3"><P align="Center">Sök-Resultat</P></td>
  </tr>
    <tr>
    <td width="168">Ämne</td>
    <td width="168">Forum</td>
    <td width="167">Datum</td>
  </tr>
<%If Not Rs.Eof Then
	Do Until Rs.Eof
	sId = RS("d")
	If (sId) = "0" Then
    Id = RS("ID")
    Else
    Id = RS("d")
    End If%>
	
    <tr>
    <td width="168"><A href="Viewmess.asp?inlaggid=<%=Id%>"><%=Rs("id")%></td>
    <td width="168"><%=Rs("01")%></td>
    <td width="167"><%=Rs("02")%></td>
  </tr>
 	<%Rs.MoveNext
 	Loop
 Else%>
 <Tr><Td>Sök Resultat 0</Td></Tr>
 <%End If%>
</table>
<%End If%>
</Div>

</body>
</Html>

databasen ser ut så här:

ID	01	02	03	04	05	06	07	08	09	10	11
1	00000 DETALJGRUPP SAKNAS	876	15								891
2	01111 SPANNMÅLSODLARE M.FL.	4									4
3	01117 ODLARE AV VÄXTER, BLANDAT, MEST JORDBRUKSVÄXTER	3									3
4	01121 ODLARE AV KÖKSVÄXTER PÅ FRILAND	3									3
5	01122 ODLARE AV PLANTSKOLEVÄXTER M.M. PÅ FRILAND	2	1		2						5
6	01123 ODLARE AV KÖKSVÄXTER I VÄXTHUS	2									2
7	01124 ODLARE AV PRYDNADSVÄXTER I VÄXTHUS		3								3
8	01127 ODLARE AV VÄXTER, BLANDAT, MEST KÖKS -, PRYDNADS- OCH PLANTSKOLEVÄXTER	1									1
9	01129 SVAMPODLARE M.FL.	1									1
10	01131 FRUKT- OCH BÄRODLARE	6	1								7

(det funkar inte riktigta att visa hur databasen ser ut jag har därför lagt en screenshot på http://www.costodia.com/lund/010111/ny_sid1.gif )
Jag förstår inte vad som är fel i sökningen jag har ju tagit med de av tabellerna jag vill att folk ska kunna söka i,
tack på förhand,

Mvh Martin Persson
www.Costodia.com

[Redigerat av costodia den 12 jan 2001]

[Redigerat av costodia den 12 jan 2001]

Medlem sedan juni 200032 967 inlägg
#2

får du något felmeddelande?

jag tror inte att det är så bra att du har endast siffror i fältnamnen.

prova att klamra fältnamnen i din fråga.

Select * From Tabell1 Where [02] ...

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

270 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)