<body class=background>
<div class=shadow3>
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<center>
<!-- Start of main table -->
<table class=table-bg width="60%" height="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">
<!-- Start of logotype -->
<!-- #include file="../Include/inc-ad.asp" -->
<!-- End of logotype -->
</td>
</tr>
<tr>
<td valign="top">
<!-- Start of menu -->
<br><br>
<!-- #include file="../inc-menu.asp" -->
<!-- End of menu -->
<br>
</td>
</tr>
<tr>
<td class=Text1 colspan=2 valign=top width="50%" height="15%">
<center>Inlägg i gästboken på webbisen.com</center>
</td>
</tr>
<tr>
<td valign=top><br>
<table width="100%" height="300" border="0">
<tr>
<td valign="top">
<%
'## -- hämta alla poster --
Function getRecords
Dim conn
Dim connstr
Dim SQL
Dim RS
Dim m_arrRecords
connstr=("Driver={mySQL};Server=localhost;Port=3306;Option=131072;Stmt=;Database=xxxxxxxxx;Uid=xxxxxxxxx;Pwd=xxxxxx;")
'## -- sql-fråga för att hämta alla poster --
'## -- denna ska du ändra så att den stämmer
'## med det som du vill hämta --
SQL = "SELECT * FROM gastbok ORDER BY Datum DESC"
set conn = Server.CreateObject("ADODB.Connection")
conn.Open connstr
'## -- recordset för att hämta alla poster --
Set RS = Conn.Execute(SQL)
If Not RS.EOF Then
m_arrRecords = RS.GetRows
getRecords = m_arrRecords
End If
'## -- clean up --
RS.Close
Set RS = Nothing
conn.Close
Set conn = Nothing
End Function
Do until RS.EOF
%>
<center>
<table>
<tr>
<td>
<table class=table width="570" border=0 cellpadding=3 cellspacing=0>
<tr>
<td colspan=2 bgcolor=#000099 width="100%">
<div class=gb1> Insänt: <%=RS("Datum")%> från IP: <%=RS("IP")%> av <%=RS("Namn")%></div>
</td>
<tr>
<td bgcolor=#000099 width="50%">
<div class=gb1>Mail: </div> <a class=gb1 href="mailto:<%=RS("Epost")%>?subject=Svar från gästboken på webbisen.com"> <%=RS("Epost")%></a>
</td>
<td bgcolor=#000099 width="50%">
<div class=gb1>Webb: </div> <a class=gb1 target='_blank' href="<%=RS("Hemsida")%>"> <%=RS("Hemsida")%></a>
</td>
</tr>
<tr>
<td colspan=2 bgcolor=#FFE600 width="100%">
<div class=gb2><%=RS("Meddelande")%>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
<%
RS.MoveNext
Loop
%>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<!-- End of main table -->
</center>
</td>
</tr>
</table>
</div>
</body>
vet nån hur man implementerar resten av pagingkoden?
<%
'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut en länk till föregående sida --
If CInt(WichPage) > 1 Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & WichPage - 1 & "'><< Föregående</A> "
Else
Response.Write "<< Föregående "
End If
End Sub
'## -- skriv ut nästa sida --
Sub NextPage(ByVal HowManyPages, ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut en länk till nästa sida --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & WichPage + 1 & "'>Nästa >></A>"
Else
Response.Write " Nästa >>"
End If
End Sub
'## -- skriv ut sidnummer navigeringen --
Sub PageNumbers(ByVal HowManyPages, WichPage)
Dim strScriptName
Dim I
'## -- kolla om det finns några sidor --
If HowManyPages = 0 Then
Response.Write "0"
Exit Sub
End If
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut länkar till sid nummer n.
'## Den sida som visas ska ej vara länkad --
For I = 1 To HowManyPages
If CInt(I) <> CInt(WichPage) Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & I & "'>" & I & "</A> "
Else
Response.Write "<B>" & I & "</B> "
End If
Next
End Sub
'## -- vilken post ska pagingen börja på --
Function getStartID(ByVal PageSize, ByVal ViewPage) ' As Integer
Dim m_intStart
m_intStart = ((PageSize * ViewPage) - PageSize)
getStartID = m_intStart
End Function
Function countPages(ByVal HowManyRecords, ByVal PageSize)
Dim m_intTotalPages, m_intRest
m_intTotalPages = HowManyRecords / PageSize
If m_intTotalPages < 1 Then
m_intTotalPages = 1
Else
m_intRest = m_intTotalPages - CLng(m_intTotalPages)
If m_intRest > 0 AND m_intRest < 0.5 Then
m_intTotalPages = CLng(m_intTotalPages) + 1
Else
m_intTotalPages = CLng(m_intTotalPages)
End If
End If
'## -- return how many pages --
countPages = m_intTotalPages
End Function
'##***********************************************************************************
Dim arrRecords
Dim intPageSize
Dim intPage
Dim intStartID
Dim I
Dim intId
Dim strNamn
Dim dteDatum
Dim intTotalPages
Dim intTotalRecords
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
'## -- hur många poster ska visas per sida --
intPageSize = 3
'## -- hämta alla records, hämtas med metoden getrows och returneras
'## som en array. --
arrRecords = getRecords
'## -- vilken post är den första --
intStartID = getStartID(intPageSize, intPage)
'## -- printa ut sidan som ska visas
'## alla poster finns i arrayen arrRecords som
'## kommer från funktionen getRecords --
If IsArray(arrRecords) Then
'Response.Write "E ju en array<BR>"
'## -- hur många records finns det totalt --
intTotalRecords = UBound(arrRecords,2) + 1
'## -- hur många sidor finns det i recordsetet --
intTotalPages = countPages(intTotalRecords, intPageSize)
Response.Write "<P>Visar nu sida <B>" & intPage & "</B> av " & intTotalPages & "</P>"
For I = intStartID To ((intStartID + intPageSize) -1)
'intId = arrRecords(0,I)
'strNamn = arrRecords(1,I)
'dteDatum = arrRecords(2,I)
'Response.Write " Datum: " & Namn & " Namn: " & IP & "<BR>"
If I = UBound(arrRecords,2) Then Exit For
Next
Else
'## -- inga poster fanns i db --
intPage = 0
intTotalRecords = 0
intTotalPages = 0
'## -- skriv ut att inga poster hittades --
Response.Write "<P>No records found.</P>"
End If
'## -- skriv ut sidnavigerings menyn --
Call PrevPage(intPage)
Response.Write " | "
Call NextPage(intTotalPages,intPage)
Response.Write " Pages: "
Call PageNumbers(intTotalPages,intPage)
%>
Vad händer när du kör denna kod?
Ev. felmeddelande skulle vara bra att se.
Men, den loopen du har är helt ointressant då den lyder:
Do Until RS.EOF
Denna paging hämtar alla records med funktionen: getRecords och som returnerar en 2-dimensionell array.
Längre ned i koden så ser du utloopningen av de returnerade posterna.
Det du behöver göra är att ändra connectionstringen OCH sql-frågan så att de stämmer överens med din tabell i databasen.
Det du vill göra, mitt antagande, är att få in din design i koden och det gör du efter detta:
'## -- printa ut sidan som ska visas
'## alla poster finns i arrayen arrRecords som
'## kommer från funktionen getRecords --
If IsArray(arrRecords) Then
'Response.Write "E ju en array<BR>"
'## -- hur många records finns det totalt --
intTotalRecords = UBound(arrRecords,2) + 1
'## -- hur många sidor finns det i recordsetet --
intTotalPages = countPages(intTotalRecords, intPageSize)
Response.Write "<P>Visar nu sida <B>" & intPage & "</B> av " & intTotalPages & "</P>"
For I = intStartID To ((intStartID + intPageSize) -1)
Det är här, For I = intStartID .... som själva utloopningen av posterna börjar.
Vad händer när du kör denna kod?
Ev. felmeddelande skulle vara bra att se.
Men, den loopen du har är helt ointressant då den lyder:
Do Until RS.EOF
Denna paging hämtar alla records med funktionen: getRecords och som returnerar en 2-dimensionell array.
Längre ned i koden så ser du utloopningen av de returnerade posterna.
Det du behöver göra är att ändra connectionstringen OCH sql-frågan så att de stämmer överens med din tabell i databasen.
Det du vill göra, mitt antagande, är att få in din design i koden och det gör du efter detta:
'## -- printa ut sidan som ska visas
'## alla poster finns i arrayen arrRecords som
'## kommer från funktionen getRecords --
If IsArray(arrRecords) Then
'Response.Write "E ju en array<BR>"
'## -- hur många records finns det totalt --
intTotalRecords = UBound(arrRecords,2) + 1
'## -- hur många sidor finns det i recordsetet --
intTotalPages = countPages(intTotalRecords, intPageSize)
Response.Write "<P>Visar nu sida <B>" & intPage & "</B> av " & intTotalPages & "</P>"
For I = intStartID To ((intStartID + intPageSize) -1)
Det är här, For I = intStartID .... som själva utloopningen av posterna börjar.
Lite mer info, så löser vi detta relativt snabbt
cya,
/PatrikB
När jag tog bort loopen fick jag
Insänt:
Microsoft VBScript runtime error '800a000d'
Type mismatch: '[undefined]'
/Gastbok/default.asp, line 167
Function getRecords
Dim conn
Dim connstr
Dim SQL
Dim RS
Dim m_arrRecords
connstr=(" Driver={mySQL};Server=localhost;Port=3306;Option=131072;Stmt
=;Database=xxxxxxxxx;Uid=xxxxxxxxx;Pwd=xxxxxx;")
'## -- sql-fråga för att hämta alla poster --
'## -- denna ska du ändra så att den stämmer
'## med det som du vill hämta --
SQL = "SELECT * FROM gastbok ORDER BY Datum DESC"
set conn = Server.CreateObject("ADODB.Connection")
conn.Open connstr
'## -- recordset för att hämta alla poster --
Set RS = Conn.Execute(SQL)
If Not RS.EOF Then
m_arrRecords = RS.GetRows
getRecords = m_arrRecords
End If
'## -- clean up --
RS.Close
Set RS = Nothing
conn.Close
Set conn = Nothing
End Function
I den stänger du recordset och efter
detta så kör du Do Until RS.Eof, RS("Datum") osv. känns som att man skall städa upp efter att man har ropat RS("Datum") osv...
Jag har 8 poster, den hittar bara 6 och den delar inte upp sidorna
<%
Function getRecords
Dim conn
Dim connstr
Dim SQL
Dim RS
Dim m_arrRecords
Set conn = Server.CreateObject("ADODB.Connection")
connstr = ("Driver={mySQL};Server=localhost;Port=3306;Option=131072;Stmt=;Database=xxxxxxxxxx;Uid=xxxxxxxxxxx;Pwd=xxxxxxxxxx;")
conn.Open connstr
SQL = "SELECT Namn, Epost, Datum, Meddelande, IP FROM gastbok ORDER BY Datum DESC"
Set RS = conn.Execute(SQL)
If Not RS.EOF Then
m_arrRecords = RS.GetRows
getRecords = m_arrRecords
End If
RS.Close
Set RS = Nothing
conn.Close
Set conn = Nothing
End Function
'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"
'## -- skriv ut en länk till föregående sida --
If CInt(WichPage) > 1 Then
Response.Write "<a href=""" & strScriptName & "&page=" & WichPage - 1 & """><< Föregående</A> "
Else
Response.Write "<< Föregående "
End If
End Sub
'## -- skriv ut sidnummer navigeringen --
Sub PageNumbers(ByVal HowManyPages, WichPage)
Dim strScriptName
Dim I
'## -- kolla om det finns några sidor --
If HowManyPages = 0 Then
Response.Write "0"
Exit Sub
End If
strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"
'## -- skriv ut länkar till sid nummer n.
'## Den sida som visas ska ej vara länkad --
For I = 1 To HowManyPages
If CInt(I) <> CInt(WichPage) Then
Response.Write "<a href=""" & strScriptName & "&page=" & WichPage + 1 & """>" & I & "</A> "
Else
Response.Write "<B>" & I & "</B> "
End If
Next
End Sub
'## -- skriv ut nästa sida --
Sub NextPage(ByVal HowManyPages, ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"
'## -- skriv ut en länk till nästa sida --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<a href=""" & strScriptName & "&page=" & WichPage + 1 & """>Nästa >></A>"
Else
Response.Write " Nästa >>"
End If
End Sub
'## -- vilken post ska pagingen börja på --
Function getStartID(ByVal PageSize, ByVal ViewPage) ' As Integer
Dim m_intStart
m_intStart = ((PageSize * ViewPage) - PageSize)
getStartID = m_intStart
End Function
Function countPages(ByVal HowManyRecords, ByVal PageSize)
Dim m_intTotalPages, m_intRest
m_intTotalPages = HowManyRecords / PageSize
If m_intTotalPages < 1 Then
m_intTotalPages = 1
Else
m_intRest = m_intTotalPages - CLng(m_intTotalPages)
If m_intRest > 0 AND m_intRest < 0.5 Then
m_intTotalPages = CLng(m_intTotalPages) + 1
Else
m_intTotalPages = CLng(m_intTotalPages)
End If
End If
'## -- return how many pages --
countPages = m_intTotalPages
End Function
'##***********************************************************************************
Dim arrRecords
Dim intPageSize
Dim intPage
Dim intStartID
Dim I
Dim intId
Dim Datum
Dim IP
Dim Namn
Dim Epost
Dim Hemsida
Dim Meddelande
Dim intTotalPages
Dim intTotalRecords
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
'## -- hur många poster ska visas per sida --
intPageSize = 6
'## -- hämta alla records, hämtas med metoden getrows och returneras
'## som en array. --
arrRecords = getRecords
'## -- vilken post är den första --
intStartID = getStartID(intPageSize, intPage)
'## -- printa ut sidan som ska visas
'## alla poster finns i arrayen arrRecords som
'## kommer från funktionen getRecords --
If IsArray(arrRecords) Then
'Response.Write "E ju en array<BR>"
'## -- hur många records finns det totalt --
intTotalRecords = UBound(arrRecords,2) - 1
'intTotalRecords = arrRecords,2
'Response.write "poster = " & intTotalRecords
'## -- hur många sidor finns det i recordsetet --
intTotalPages = countPages(intTotalRecords, intPageSize)
Response.Write "<P>Visar nu sida <B>" & intPage & "</B> av " & intTotalPages & "</P>"
For I = intStartID To ((intStartID + intPageSize) -1)
'Datum = arrRecords(0,I)
'IP = arrRecords(1,I)
'Namn = arrRecords(2,I)
'Epost = arrRecords(3,1)
'Hemsida = arrRecords(4,1)
'Meddelande = arrRecords(5,I)
'Response.Write " Datum: " & Datum & " IP: " & IP & "Datum: " & Datum & " Epost: " & Epost & "Hemsida: " & Hemsida & " Meddelande: " & Meddelande & "<BR>"
If I = UBound(arrRecords,2) Then Exit For
Next
Else
'## -- inga poster fanns i db --
intPage = 0
intTotalRecords = 0
intTotalPages = 0
'## -- skriv ut att inga poster hittades --
Response.Write "<P>Inga poster hittades.</P>"
End If
'## -- skriv ut sidnavigerings menyn --
response.write("<table class=Text1 border=0 width='100%'><tr><td align=left width='33%'>")
Call PrevPage(intPage)
response.write("</td><td align=middle width='33%'>")
response.write("Antal sidor: ")
Call PageNumbers(intTotalPages,intPage)
response.write("</td><td align=right width='33%'>")
Call NextPage(intTotalPages,intPage)
response.write("</td></tr></table>")
%>
Sen är det "någon" som har varit och ändrat i denna sub.
'## -- skriv ut sidnummer navigeringen --
Sub PageNumbers(ByVal HowManyPages, WichPage)
Dim strScriptName
Dim I
'## -- kolla om det finns några sidor --
If HowManyPages = 0 Then
Response.Write "0"
Exit Sub
End If
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut länkar till sid nummer n.
'## Den sida som visas ska ej vara länkad --
For I = 1 To HowManyPages
If CInt(I) <> CInt(WichPage) Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & I & "'>" & I & "</A> "
Else
Response.Write "<B>" & I & "</B> "
End If
Next
End Sub
Du har snurrat till det och bytt ut I mot en annan variabel, varför!?! , byt ut den så ska du vara på rätt spår. (Ev. om du gjort liknande ändringar i andra subbar.)
Sen är det "någon" som har varit och ändrat i denna sub.
'## -- skriv ut sidnummer navigeringen --
Sub PageNumbers(ByVal HowManyPages, WichPage)
Dim strScriptName
Dim I
'## -- kolla om det finns några sidor --
If HowManyPages = 0 Then
Response.Write "0"
Exit Sub
End If
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut länkar till sid nummer n.
'## Den sida som visas ska ej vara länkad --
For I = 1 To HowManyPages
If CInt(I) <> CInt(WichPage) Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & I & "'>" & I & "</A> "
Else
Response.Write "<B>" & I & "</B> "
End If
Next
End Sub
Du har snurrat till det och bytt ut I mot en annan variabel, varför!?! , byt ut den så ska du vara på rätt spår. (Ev. om du gjort liknande ändringar i andra subbar.)
Den verkar funka som den ska , MEN den bryter inte sidorna efetr de antal inlägg den är inställd på
Du menaralltså att den inte visar så många inlägg/poster den ska per sida?
Har du en länk till sidan?
HUr många inlägg/poster har du som ska skrivas ut? Hur många skadet vara per sida?
Okelidoki. Jo, det där blir ju inte särskilt vackert. Är du HELT säker på att du skrivit 3 poster per sida?
Felet som jag påtalade angående navigeringen finns där...
Okelidoki. Jo, det där blir ju inte särskilt vackert. Är du HELT säker på att du skrivit 3 poster per sida?
Felet som jag påtalade angående navigeringen finns där...
OT, dina datum visas en smula galet på din sida.
Jag är medveten om datumet, jag letade och jag såg ingen etta på fel ställe......var exakt är felet?
Ah, jag skrev fel förut, du måste varit bra snabb att läsa det.
Orginalkod:
If CInt(I) <> CInt(WichPage) Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & I & "'>" & I & "</A> "
Else
Response.Write "<B>" & I & "</B> "
End If
Din kod:
If CInt(I) <> CInt(WichPage) Then
Response.Write "<a href=""" & strScriptName & "&page=" & WichPage + 1 & """>" & I & "</A> "
Else
Response.Write "<B>" & I & "</B> "
End If
<%
Function getRecords
Dim conn
Dim connstr
Dim SQL
Dim RS
Dim m_arrRecords
Set conn = Server.CreateObject("ADODB.Connection")
connstr = ("Driver={mySQL};Server=localhost;Port=3306;Option=131072;Stmt=;Database=;Uid=;Pwd=;")
conn.Open connstr
SQL = "SELECT Namn, Epost, Datum, Meddelande, IP FROM gastbok ORDER BY Datum DESC"
Set RS = conn.Execute(SQL)
If Not RS.EOF Then
m_arrRecords = RS.GetRows
getRecords = m_arrRecords
End If
RS.Close
Set RS = Nothing
conn.Close
Set conn = Nothing
End Function
'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"
'## -- skriv ut en länk till föregående sida --
If CInt(WichPage) > 1 Then
Response.Write "<a href=""" & strScriptName & "&page=" & I & """><< Föregående</A> "
Else
Response.Write "<< Föregående "
End If
End Sub
'## -- skriv ut sidnummer navigeringen --
Sub PageNumbers(ByVal HowManyPages, WichPage)
Dim strScriptName
Dim I
'## -- kolla om det finns några sidor --
If HowManyPages = 0 Then
Response.Write "0"
Exit Sub
End If
strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"
'## -- skriv ut länkar till sid nummer n.
'## Den sida som visas ska ej vara länkad --
If CInt(I) <> CInt(WichPage) Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & I & "'>" & I & "</A> "
Else
Response.Write "<B>" & I & "</B> "
End If
End Sub
'## -- skriv ut nästa sida --
Sub NextPage(ByVal HowManyPages, ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"
'## -- skriv ut en länk till nästa sida --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<a href=""" & strScriptName & "&page=" & I & """>Nästa >></A>"
Else
Response.Write " Nästa >>"
End If
End Sub
'## -- vilken post ska pagingen börja på --
Function getStartID(ByVal PageSize, ByVal ViewPage) ' As Integer
Dim m_intStart
m_intStart = ((PageSize * ViewPage) - PageSize)
getStartID = m_intStart
End Function
Function countPages(ByVal HowManyRecords, ByVal PageSize)
Dim m_intTotalPages, m_intRest
m_intTotalPages = HowManyRecords / PageSize
If m_intTotalPages < 1 Then
m_intTotalPages = 1
Else
m_intRest = m_intTotalPages - CLng(m_intTotalPages)
If m_intRest > 0 AND m_intRest < 0.5 Then
m_intTotalPages = CLng(m_intTotalPages) + 1
Else
m_intTotalPages = CLng(m_intTotalPages)
End If
End If
'## -- return how many pages --
countPages = m_intTotalPages
End Function
'##***********************************************************************************
Dim arrRecords
Dim intPageSize
Dim intPage
Dim intStartID
Dim I
Dim intId
Dim Datum
Dim IP
Dim Namn
Dim Epost
Dim Hemsida
Dim Meddelande
Dim intTotalPages
Dim intTotalRecords
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
'## -- hur många poster ska visas per sida --
intPageSize = 6
'## -- hämta alla records, hämtas med metoden getrows och returneras
'## som en array. --
arrRecords = getRecords
'## -- vilken post är den första --
intStartID = getStartID(intPageSize, intPage)
'## -- printa ut sidan som ska visas
'## alla poster finns i arrayen arrRecords som
'## kommer från funktionen getRecords --
If IsArray(arrRecords) Then
'Response.Write "E ju en array<BR>"
'## -- hur många records finns det totalt --
intTotalRecords = UBound(arrRecords,2)
'intTotalRecords = arrRecords,2
'Response.write "poster = " & intTotalRecords
'## -- hur många sidor finns det i recordsetet --
intTotalPages = countPages(intTotalRecords, intPageSize)
Response.Write "<P>Visar nu sida <B>" & intPage & "</B> av " & intTotalPages & "</P>"
For I = intStartID To ((intStartID + intPageSize) -1)
'Datum = arrRecords(rs.fields(0))
'IP = arrRecords(rs.fields(1))
'Namn = arrRecords(rs.fields(2))
'Epost = arrRecords(rs.fields(3))
'Hemsida = arrRecords(rs.fields(4))
'Meddelande = arrRecords(rs.fields(5))
'Response.Write " Datum: " & Datum & " IP: " & IP & "Datum: " & Datum & " Epost: " & Epost & "Hemsida: " & Hemsida & " Meddelande: " & Meddelande & "<BR>"
If I = UBound(arrRecords,2) Then Exit For
Next
Else
'## -- inga poster fanns i db --
intPage = 0
intTotalRecords = 0
intTotalPages = 0
'## -- skriv ut att inga poster hittades --
Response.Write "<P>Inga poster hittades.</P>"
End If
'## -- skriv ut sidnavigerings menyn --
response.write("<table class=Text1 border=0 width='100%'><tr><td align=left width='33%'>")
Call PrevPage(intPage)
response.write("</td><td align=middle width='33%'>")
response.write("Antal sidor: ")
Call PageNumbers(intTotalPages,intPage)
response.write("</td><td align=right width='33%'>")
Call NextPage(intTotalPages,intPage)
response.write("</td></tr></table>")
%>
<%
Function getRecords
Dim conn
Dim connstr
Dim SQL
Dim RS
Dim m_arrRecords
Set conn = Server.CreateObject("ADODB.Connection")
connstr = (" Driver={mySQL};Server=localhost;Port=3306;Option=131072;Stmt
=;Database=;Uid=;Pwd=;")
conn.Open connstr
SQL = "SELECT Namn, Epost, Datum, Meddelande, IP FROM gastbok ORDER BY Datum DESC"
Set RS = conn.Execute(SQL)
If Not RS.EOF Then
m_arrRecords = RS.GetRows
getRecords = m_arrRecords
End If
RS.Close
Set RS = Nothing
conn.Close
Set conn = Nothing
End Function
'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"
'## -- skriv ut en länk till föregående sida --
If CInt(WichPage) > 1 Then
Response.Write "<a href=""" & strScriptName & "&page=" & WichPage - 1 & """><< Föregående</A> "
Else
Response.Write "<< Föregående "
End If
End Sub
'## -- skriv ut sidnummer navigeringen --
Sub PageNumbers(ByVal HowManyPages, WichPage)
Dim strScriptName
Dim I
'## -- kolla om det finns några sidor --
If HowManyPages = 0 Then
Response.Write "0"
Exit Sub
End If
strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"
'## -- skriv ut länkar till sid nummer n.
'## Den sida som visas ska ej vara länkad --
For I = 1 To HowManyPages
If CInt(I) <> CInt(WichPage) Then
Response.Write "<A href='" & strScriptName & "&" & _
"page=" & I & "'>" & I & "</A> "
Else
Response.Write "<B>" & I & "</B> "
End If
Next
End Sub
'## -- skriv ut nästa sida --
Sub NextPage(ByVal HowManyPages, ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"
'## -- skriv ut en länk till nästa sida --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<a href=""" & strScriptName & "&page=" & WichPage + 1 & """>Nästa >></A>"
Else
Response.Write " Nästa >>"
End If
End Sub
'## -- vilken post ska pagingen börja på --
Function getStartID(ByVal PageSize, ByVal ViewPage) ' As Integer
Dim m_intStart
m_intStart = ((PageSize * ViewPage) - PageSize)
getStartID = m_intStart
End Function
Function countPages(ByVal HowManyRecords, ByVal PageSize)
Dim m_intTotalPages, m_intRest
m_intTotalPages = HowManyRecords / PageSize
If m_intTotalPages < 1 Then
m_intTotalPages = 1
Else
m_intRest = m_intTotalPages - CLng(m_intTotalPages)
If m_intRest > 0 AND m_intRest < 0.5 Then
m_intTotalPages = CLng(m_intTotalPages) + 1
Else
m_intTotalPages = CLng(m_intTotalPages)
End If
End If
'## -- return how many pages --
countPages = m_intTotalPages
End Function
'##***********************************************************************************
Dim arrRecords
Dim intPageSize
Dim intPage
Dim intStartID
Dim I
Dim intId
Dim Datum
Dim IP
Dim Namn
Dim Epost
Dim Hemsida
Dim Meddelande
Dim intTotalPages
Dim intTotalRecords
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
'## -- hur många poster ska visas per sida --
intPageSize = 6
'## -- hämta alla records, hämtas med metoden getrows och returneras
'## som en array. --
arrRecords = getRecords
'## -- vilken post är den första --
intStartID = getStartID(intPageSize, intPage)
'## -- printa ut sidan som ska visas
'## alla poster finns i arrayen arrRecords som
'## kommer från funktionen getRecords --
If IsArray(arrRecords) Then
'Response.Write "E ju en array<BR>"
'## -- hur många records finns det totalt --
intTotalRecords = UBound(arrRecords,2)
'intTotalRecords = arrRecords,2
'Response.write "poster = " & intTotalRecords
'## -- hur många sidor finns det i recordsetet --
intTotalPages = countPages(intTotalRecords, intPageSize)
Response.Write "<P>Visar nu sida <B>" & intPage & "</B> av " & intTotalPages & "</P>"
For I = intStartID To ((intStartID + intPageSize) -1)
'Datum = arrRecords(rs.fields(0))
'IP = arrRecords(rs.fields(1))
'Namn = arrRecords(rs.fields(2))
'Epost = arrRecords(rs.fields(3))
'Hemsida = arrRecords(rs.fields(4))
'Meddelande = arrRecords(rs.fields(5))
'Response.Write " Datum: " & Datum & " IP: " & IP & "Datum: " & Datum & " Epost: " & Epost & "Hemsida: " & Hemsida & " Meddelande: " & Meddelande & "<BR>"
If I = UBound(arrRecords,2) Then Exit For
Next
Else
'## -- inga poster fanns i db --
intPage = 0
intTotalRecords = 0
intTotalPages = 0
'## -- skriv ut att inga poster hittades --
Response.Write "<P>Inga poster hittades.</P>"
End If
'## -- skriv ut sidnavigerings menyn --
response.write("<table class=Text1 border=0 width='100%'><tr><td align=left width='33%'>")
Call PrevPage(intPage)
response.write("</td><td align=middle width='33%'>")
response.write("Antal sidor: ")
Call PageNumbers(intTotalPages,intPage)
response.write("</td><td align=right width='33%'>")
Call NextPage(intTotalPages,intPage)
response.write("</td></tr></table>")
%>
/red. Ändrade ett ? till ett & i subben PageNumbers
kopierade in din kod, klistrade in......man kan inte klicka på nån siffra för då blir sidan bara vit, bakåt och föregående finkar......men den bryter fortfarande inte sidorna
416 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91