Søgefunktion.....
Hej!Jeg har siddet et par dage og bøvlet med det her script. Jeg startede med det i JavaScript (ASP), men er gået over til VBScript, så det kan sagtens være at der er nogle ting, som er absolut forkerte i det, men giv gerne lyd. Scriptet får data via adresselinien. Et indput kunne fx. være: http://*adresse*/musik/sog.asp?kategori=Kunstner&sog=Kim
Det er er problemte er at der ikke kommer noget output ud af databasen (jeg kan godt lave et udtræk med et simpel script som kun henter data, så det er ikke databaseadgangen der er prob. med!)
Selve ASP scriptet er herunder:
<% @language=VBScript %>
<html>
<body>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
Du søgte på <%=Request.QueryString("sog")%>. Der blev fundet følgende: <br>
<tr>
<td align="center">ID<br>
<td align="center">Titel<br></td>
<td align="center">Kunstner</td>
</tr>
<%
set conn = Server.CreateObject("ADODB.Connection")
connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\musik\musik.mdb;"
conn.open connString
if (Request.QueryString("kategori") = "Titel") then
sql = "SELECT Titel FROM Hovedtabel WHERE Titel ='" + Request.QueryString("sog") + "'"
end if
if (Request.QueryString("kategori") = "Kunstner") then
sql = "SELECT Kunstner FROM Hovedtabel WHERE Kunstner ='" + Request.QueryString("sog") + "'"
end if
if (Request.QueryString("kategori") = "Aar") then
sql = "SELECT Aar FROM Hovedtabel WHERE Aar ='" + Request.QueryString("sog") + "'"
end if
if (Request.QueryString("kategori") = "Genre") then
sql = "SELECT Genre FROM Hovedtabel WHERE Genre ='" + Request.QueryString("sog") + "'"
end if
if (Request.QueryString("kategori") = "Texten") then
sql = "SELECT Texten FROM Hovedtabel WHERE Texten ='" + Request.QueryString("sog") + "'"
end if
if (Request.QueryString("kategori") = "Rytme") then
sql = "SELECT Rytme FROM Hovedtabel WHERE Rytme ='" + Request.QueryString("sog") + "'"
end if
if (Request.QueryString("kategori") = "Beat") then
sql = "SELECT Beat FROM Hovedtabel WHERE Beat ='" + Request.QueryString("sog") + "'"
end if
Set rs = conn.execute(sql)
Do Until rs.eof
'For at vise de records der er i databasen sættes en løkke i gang (Do-Loop), som kører, indtil rs når til sidste post
' i forespørgslen (end-of-file, eof)
%>
<tr>
<td width="38"><%=rs("ID")%> </td>
<td width="125"><%=rs("Titel")%> </td>
<td width="224"><%=rs("Kunstner")%> </td>
<td width="57"><%=rs("Aar")%> </td>
<td width="226"><%=rs("Texten")%> </td>
</tr>
<%
' Vi viser nu de udtrukne informationer i form af en række links, der alle peger på en redirect-side, hvor
' hits på de enkelte links registreres og skrives i databasen.
' Ved at sende det enkelte links Id med til redirect-siden, kan vi på sidstnævnte hente den korrekte record ind,
' som linket refererer til, og hvis hitantal skal forøges.
' Endeligt vises antallet af gange siden er vist i en parentes efter linket.
rs.MoveNext
' når det enkelte link er sat ind på siden, flytter vi markøren til næste record i foresprøgslen med rs.MoveNext
Loop
conn.close
' Alt der ligger mellem Do og Loop gennemføres som før nævnt indtil vi når slutningen af de udtrukne records,
' dvs. til eof.
%>
</table>
</body>
</html>
Håber at der er nogen der hurtigt kan/vil hjælpe!
På forhånd tak
Kongsted
