Läänkarna funkar inte riktigt ännu måste fixa dom
Hej när jag gör select satsen och vill att den skall hämta från en tabell funkar sidan bra då ser den ut så här
http://www1.bengtdahlgren.se/paging/paging.asp
Men när jag gör select satsen med 2 tabeller Select * From Kontaktpersoner, kontor så blir sidan så här.
http://www1.bengtdahlgren.se/paging/paging2.asp
Nån som vet varför?
Detta är koden för hela sidan.
<%
Option Explicit
Response.Buffer = FALSE
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
'## -- hämta alla poster --
Function getRecords
Dim m_objConn
Dim m_strConnString
Dim m_strSQL
Dim m_objRS
Dim m_arrRecords
m_strConnString = "provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("../databas/bdab1.mdb")
'## -- skapa connection object och öppna upp databasen --
Set m_objConn = Server.CreateObject("ADODB.Connection")
m_objConn.Open m_strConnString
'## -- 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 --
m_strSQL = "SELECT * FROM kontaktpersoner, kontor"
'## -- recordset för att hämta alla poster --
Set m_objRS = m_objConn.Execute(m_strSQL)
If Not m_objRS.EOF Then
m_arrRecords = m_objRS.GetRows
getRecords = m_arrRecords
End If
'## -- clean up --
m_objRS.Close
Set m_objRS = Nothing
m_objConn.Close
Set m_objConn = Nothing
End Function
'## -- 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_intTotalPages = CInt((HowManyRecords / PageSize) + 0.5)
'm_intTotalPages = CInt(((HowManyRecords / PageSize) + 1) - 1)
countPages = m_intTotalPages
End Function
'##***********************************************************************************
Response.write"Kontaktpersoner<br><br>"
Dim arrRecords
Dim intPageSize
Dim intPage
Dim intStartID
Dim I
Dim intId
Dim Namn
Dim tel
Dim intTotalPages
Dim intTotalRecords
Dim avd
Dim bild
Dim mob
Dim email
Dim intCounter
Dim img
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
'## -- hur många poster ska visas per sida --
intPageSize = 4
'## -- 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)
'## -- startar tabellen utanför loopen --
Response.Write "<table border=""0"" width=""680""><tr>"
'## -- skriv ut sidnavigerings menyn --
Response.Write "Pages:"
Call PageNumbers(intTotalPages,intPage)
%>
<br><br>
<%
'## Loopen börjar
For I = intStartID To ((intStartID + intPageSize) -1)
intCounter = intCounter + 1
intId = arrRecords(0,I)
Namn = arrRecords(1,I)
tel = arrRecords(4,I)
avd = arrRecords(3,I)
bild = arrRecords(6,I)
mob = arrRecords(5,I)
email = arrRecords(8,I)
If Len(bild) > 0 Then
img ="<img src=""" & bild & """>"
Else
img = ""
End If
Response.Write "<td>" & img & "</td>" & _
"<td>" & Namn & "<br><br>" & _
avd & "<br><br>Tel: " & tel & "<br>Mob: " & mob & "<br><br>" & _
"<a href=""mailto:" & email & """>" & email & "</a>" & _
"</td>"
If intCounter mod 2 = 0 Then Response.Write "</TR><TR>"
If I = UBound(arrRecords,2) Then Exit For
Next
'## -- stänger tabellen efter loopen --
If intCounter mod 2 <> 0 Then
Do Until intCounter mod 2 = 0
Response.Write "<TD> </TD><TD> </TD>"
intCounter = intCounter + 1
Loop
End If
Response.Write "</tr></table><br>"
'## -- skriv ut sidnavigerings menyn --
Call PrevPage(intPage)
Response.Write " | "
Call NextPage(intTotalPages,intPage)
'## -- 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 & "'><img border=0
src=http://www.bengtdahlgren.se/bilder/pilar/left.gif>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 <img border=0
src=http://www.bengtdahlgren.se/bilder/pilar/right.gif></A>"
Else
Response.Write "Nästa "
End If
End Sub
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
%>
</BODY>
</HTML>
