11. august 2002 - 22:14Der er
20 kommentarer og 1 løsning
Count antal søgeresultater
Hvordan tæller man hvor mange resultater der er fundet på en søgning i en access database ???
Har ikke så meget forstand på det, så det skal skæres ud i pap for mig hvordan jeg skal sætte det ind i denne kode:
<% strMode = Request.Querystring("mode") select case strMode case "id"
Response.Buffer = True
' Her opdateres hits når brugeren bliver sendt til et link Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("links.mdb") If Request.QueryString("id") <> "" Then Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT * FROM links WHERE (ID = " & Request.QueryString("id") & ")" rs.Open strSQL, myConn, 1, 3 If Not (rs.BOF Or rs.EOF) Then rs("Hits") = rs("Hits") + 1 strURL = rs("URL") rs.Update rs.Close myConn.Close Set rs = Nothing Set myConn = Nothing Response.Clear Response.Redirect(strURL) End If End If %>
If Len(strKeyword) = 0 Then ' Hvis der ikke er skrevet i formularen sendes brugeren tilbage Response.Clear Response.Redirect ("7_soeg_0.shtml") Else strKeyword = Replace(strKeyword,"'","''") End If
' Opbygger en dynamisk SQL streng strSQL = "SELECT * FROM links WHERE" strSQL = strSQL & " (godkendt = 'ja') AND (" strSQL = strSQL & " (id LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (navn LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (hits LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (søgeord LIKE '%" & strKeyword & "%'))"
' Skaber et recordset udfra SQL strengen Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then
' Hvis søgningen gav resultat Do While Not rs.EOF If farve=1 Then bg="#FCFCFC" Farve= Farve + 1 Else bg="#E5E5E5" farve=1 End If Response.Write "<tr><td valign=top><div class=""header1""><font size=1><b><a href=""links.asp?mode=id&id=" & rs("ID") & """
target=""_self"">" & rs("Navn") & "</a></b></div><br>" & rs("Beskrivelse") & "<br><br><i>Denne side har været besøgt <b>" & rs("Hits") & "
gange</i></b></font></td></tr>"
rs.MoveNext Loop
Else response.redirect ("7_soeg_1.shtml") End If rs.Close Set rs = Nothing end select %>
' Hvis søgningen gav resultat Do While Not rs.EOF If farve=1 Then bg="#FCFCFC" Farve= Farve + 1 Else bg="#E5E5E5" farve=1 End If Response.Write "<tr><td valign=top><div class=""header1""><font size=1><b><a href=""links.asp?mode=id&id=" & rs("ID") & """
target=""_self"">" & rs("Navn") & "</a></b></div><br>" & rs("Beskrivelse") & "<br><br><i>Denne side har været besøgt <b>" & rs("Hits") & "
gange</i></b></font></td></tr>"
'Ligger 1 til hvergang der udskrives et søgeresultat SearchCount = SearchCount + 1
<% strMode = Request.Querystring("mode") select case strMode case "id"
Response.Buffer = True
' Her opdateres hits når brugeren bliver sendt til et link Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("links.mdb") If Request.QueryString("id") <> "" Then Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT * FROM links WHERE (ID = " & Request.QueryString("id") & ")" rs.Open strSQL, myConn, 1, 3 If Not (rs.BOF Or rs.EOF) Then rs("Hits") = rs("Hits") + 1 strURL = rs("URL") rs.Update rs.Close myConn.Close Set rs = Nothing Set myConn = Nothing Response.Clear Response.Redirect(strURL) End If End If %>
If Len(strKeyword) = 0 Then ' Hvis der ikke er skrevet i formularen sendes brugeren tilbage Response.Clear Response.Redirect ("7_soeg_0.shtml") Else strKeyword = Replace(strKeyword,"'","''") End If
' Opbygger en dynamisk SQL streng strSQL = "SELECT COUNT(id) AS soegeresultater FROM links WHERE" strSQL = strSQL & " (godkendt = 'ja') AND (" strSQL = strSQL & " (id LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (navn LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (hits LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (søgeord LIKE '%" & strKeyword & "%'))"
' Skaber et recordset udfra SQL strengen Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then
' Hvis søgningen gav resultat Do While Not rs.EOF If farve=1 Then bg="#FCFCFC" Farve= Farve + 1 Else bg="#E5E5E5" farve=1 End If Response.Write "<tr><td valign=top><div class=""header1""><font size=1><b><a href=""links.asp?mode=id&id=" & rs("ID") & """
target=""_self"">" & rs("Navn") & "</a></b></div><br>" & rs("Beskrivelse") & "<br><br><i>Denne side har været besøgt <b>" & rs("Hits") & "
gange</i></b></font></td></tr>"
rs.MoveNext Loop Response.Write("Søgeresultater: " & soegeresultater) Else response.redirect ("7_soeg_1.shtml") End If rs.Close Set rs = Nothing end select %>
' Hvis søgningen gav resultat soegeresultater = 0 ' først nulstilles soegeresultater.
Do While Not rs.EOF If farve=1 Then bg="#FCFCFC" Farve= Farve + 1 Else bg="#E5E5E5" farve=1 End If Response.Write "<tr><td valign=top><div class=""header1""><font size=1><b><a href=""links.asp?mode=id&id=" & rs("ID") & """
target=""_self"">" & rs("Navn") & "</a></b></div><br>" & rs("Beskrivelse") & "<br><br><i>Denne side har været besøgt <b>" & rs("Hits") & "
gange</i></b></font></td></tr>" soegeresultater = soegeresultater + 1 'for hvert gennemløb vokser soegeresultater med 1 rs.MoveNext Loop Response.Write("Søgeresultater: " & soegeresultater) 'mener ikke dine paranteser er nødvendige.... tværtimod
Fejltype: Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0409) Strengkonstanten er uafsluttet /DestinationSamsoe/dsmenusoeg.asp, line 194, column 123 Response.Write "<tr><td valign=top><div class=""header1""><font size=1><b><a href=""links.asp?mode=id&id=" & rs("ID") & """
Indsæt følgende..... der hvor det nu passer ind......... der er 3 tilføjelser... resten er som din originalkode.......
counter = 0 'Tilføjelse nummer 1 Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then ' Hvis søgningen gav resultat Do While Not rs.EOF If farve=1 Then bg="#FCFCFC" Farve= Farve + 1 Else bg="#E5E5E5" farve=1 End If Response.Write "<tr><td valign=top><div class=""header1""><font size=1><b><a href=""links.asp?mode=id&id=" & rs("ID") & """ target=""_self"">" & rs("Navn") & "</a></b></div><br>" & rs("Beskrivelse") & "<br><br><i>Denne side har været besøgt <b>" & rs("Hits") & " gange</i></b></font></td></tr>" counter = counter + 1 'Tilføjelse nummer 2 rs.MoveNext Loop
Og skulle I have et ledig job til mig.... så bare sig til...... bor i Slagelse... er uddannet Multimedie-designer.... se evt. http://kenneth.vidur.dk for mere..... Kan lidt af hvert indenfor Web, multimedie og design.
Jep.....Den skal skrive hvor mange søgeresultater den lige har vist til brugeren. Men din sidste rettelse virkede heller ikke. Måske det var nemmere og downloade filen og prøve selv at se, hvad der sker når man sætter den kode ind som du har forslået....
Det er bare i orden.... endnu bedre end points..... yeah...... og kom endelig med noget arbejde der skal laves...... Hvis det er seriøst nok... så flytter jeg sgu bare derover..... kommer jo trods alt fra Thy.. *lol*
Kan jeg ikke få din mail.... du kan sende den til mig på kenneth@vidur.dk og fortælle lidt mere om jeres foretagene.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.