Avatar billede data2k.dk Nybegynder
10. november 2002 - 15:07 Der er 17 kommentarer og
1 løsning

Side. 1 - 2- 3- 4 -5 i ASP

Jeg kan ikke helt få det til at virke... her er scriptet som det ser ud uden at jeg har pillet ved det.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
str_sql2 = "SELECT * FROM links WHERE godkendt=(1)"
If Request("alfa") > "" Then str_sql2 = str_sql2 & " AND instr('" & LCase(Request("alfa")) & "',lcase(left(title,1)))>0"
Set rs = Conn.Execute (str_sql2)
%>


den skal bare lave en ny side hver gang der mere en 40 links på siden. Det jeg selv laver er noget rod:)
Avatar billede eagleeye Praktikant
10. november 2002 - 15:12 #1
Normalt bruger man Paging til det med 1 - 2 - 3 ovs...
http://activedeveloper.dk/aspdigital/kapitel2/paging.asp
Avatar billede data2k.dk Nybegynder
10. november 2002 - 15:13 #2
okay.. prøver lige om jeg kan samle det i mit script..
Avatar billede data2k.dk Nybegynder
10. november 2002 - 15:22 #3
kan det passe det skal se sådan ud ?


Set rs = Server.CreateObject("ADODB.RecordSet")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
    Do While Not rs.EOF And intRecCount > 0
        Response.Write rs("LinkURL") & "<br>"
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
str_sql2 = "SELECT * FROM links WHERE godkendt=(1)"
If Request("alfa") > "" Then str_sql2 = str_sql2 & " AND instr('" & LCase(Request("alfa")) & "',lcase(left(title,1)))>0"
Set rs = Conn.Execute (str_sql2)
%>
Avatar billede eagleeye Praktikant
10. november 2002 - 15:25 #4
Næsten sådan her.


Set rs = Server.CreateObject("ADODB.RecordSet")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")


str_sql2 = "SELECT * FROM links WHERE godkendt=(1)"
If Request("alfa") > "" Then str_sql2 = str_sql2 & " AND instr('" & LCase(Request("alfa")) & "',lcase(left(title,1)))>0"

rs.Open str_sql2, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
    Do While Not rs.EOF And intRecCount > 0
        Response.Write rs("LinkURL") & "<br>"
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
%>
Avatar billede data2k.dk Nybegynder
10. november 2002 - 15:39 #5
hmm jeg får hele tiden denne fejl

Microsoft VBScript runtime error '800a01a8'

Object required
Avatar billede eagleeye Praktikant
10. november 2002 - 15:41 #6
arh denne linie:

rs.Open str_sql2, strDSN, 1

Skal rettes til:

rs.Open str_sql2, Conn, 1
Avatar billede data2k.dk Nybegynder
10. november 2002 - 15:47 #7
Den gør det stadig... jeg har sammensat det hele sådan her       




<%
        intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If
       
        Set rs = Server.CreateObject("ADODB.RecordSet")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")


str_sql2 = "SELECT * FROM links WHERE godkendt=(1)"
If Request("alfa") > "" Then str_sql2 = str_sql2 & " AND instr('" & LCase(Request("alfa")) & "',lcase(left(title,1)))>0"

rs.Open str_sql2, Conn, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 40
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
    Do While Not rs.EOF And intRecCount > 0
        Response.Write rs("LinkURL") & "<br>"
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If


Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=links.asp?page=" & intNum & ">" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=links.asp?page=" & intPage - 1 & ">&lt;&lt;</a>"
Else
    Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=links.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If
%>
Avatar billede eagleeye Praktikant
10. november 2002 - 15:48 #8
Prøv foran linien

Conn.Open "xxx"

at tilføje:

Set Conn = Server.CreateObject("ADODB.Connection")
Avatar billede data2k.dk Nybegynder
10. november 2002 - 15:50 #9
så fik jeg denne fejl

Expected '='
Avatar billede eagleeye Praktikant
10. november 2002 - 15:51 #10
?? ingen linie nummer?
Avatar billede data2k.dk Nybegynder
10. november 2002 - 15:53 #11
jo..

line 162

Set Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
--------------^
Avatar billede eagleeye Praktikant
10. november 2002 - 15:55 #12
I dion kommentar (10/11-2002 15:47:08) skal disse to linier:

Set rs = Server.CreateObject("ADODB.RecordSet")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")


Laves om til disse 3 linier:

Set rs = Server.CreateObject("ADODB.RecordSet")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
Avatar billede data2k.dk Nybegynder
10. november 2002 - 15:58 #13
hmmm.. den virkede nogenlunde, men der kom en fejl

Side 1 af 4
-----------------
ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.
Avatar billede eagleeye Praktikant
10. november 2002 - 16:00 #14
du skal rette denne linie:

Response.Write rs("LinkURL") & "<br>"

Til en kolonne der findes i din tabel.
Avatar billede data2k.dk Nybegynder
10. november 2002 - 16:04 #15
okay.. det virker men fungere forkert.. jeg prøver lige om jeg kan rette det.. vender tilbage om et øjenblik
Avatar billede data2k.dk Nybegynder
10. november 2002 - 16:18 #16
hmm.. den henter det samme to gange... en gang fra denne

Response.Write rs("Links2") & "<br>"

og en gang fra den del jeg selv havde lavet...

  <%
if rs.EOF then
%>
  <%
else
%>  <%
Do Until rs.EOF
%>  <% = rs("links2") %>
            <%
rs.MoveNext
Loop
%>  <% end if
        rs.Close
  Conn.Close
  Set rs = Nothing
  Set Conn = Nothing %>



det først der bliver hentet kan jeg ikke bruge da man ikke kan klikke på det.
Avatar billede eagleeye Praktikant
10. november 2002 - 16:21 #17
det som udskrivers i dit loop skal ind i dette loop:


    Do While Not rs.EOF And intRecCount > 0

'HER SKAL KODEN SOM UDSKRIVER VÆRE
        Response.Write rs("LinkURL") & "<br>"


      intRecCount = intRecCount - 1
      rs.MoveNext
    Loop
Avatar billede data2k.dk Nybegynder
04. december 2002 - 10:43 #18
sorry... måske en ideé at godkende dit svar:=)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester