Avatar billede benkebus Nybegynder
23. januar 2002 - 14:09 Der er 13 kommentarer og
1 løsning

Kombination

Finns det ett script som kombinerar paging med ett script som visar data i ett table med exempelvis 3 kolumner?
Avatar billede marit Nybegynder
23. januar 2002 - 15:19 #1
hvad mener du med paging, ja hvad skal du i det hele taget?
Avatar billede benkebus Nybegynder
24. januar 2002 - 08:37 #2
pagingkod:

<table>
<tr>

<%X = 1%>
<%Do until RS.EOF%>
<td>
<%=rs("fornamn") %>&nbsp;<%=rs("efternamn") %><br><%=rs("adress") %><br><%=rs("postnr") %>&nbsp;<%=rs("postadress") %><br><%=rs("land") %>
</td>

<%if X = 3 then%>
</tr>
<tr>
<%X = 0%>
<%end if%>

<%X = X -- 1%>
<%RS.MoveNext%>
<%loop%>
</tr>
</table>


data i en table med 3 kolumner:

<table>
<tr>

<%X = 1%>
<%Do until RS.EOF%>
<td>
<%=rs("fornamn") %>&nbsp;<%=rs("efternamn") %><br><%=rs("adress") %><br><%=rs("postnr") %>&nbsp;<%=rs("postadress") %><br><%=rs("land") %>
</td>

<%if X = 3 then%>
</tr>
<tr>
<%X = 0%>
<%end if%>

<%X = X -- 1%>
<%RS.MoveNext%>
<%loop%>
</tr>
</table>
Avatar billede benkebus Nybegynder
24. januar 2002 - 08:39 #3
sorry, här kommer pagingkoden:

<%
Option Explicit
Dim objConn
Dim strConnString
Dim strSQL
Dim objRS
Dim strName
Dim strComment
Dim dteDate
Dim intPageSize
Dim intPage
Dim intTotalPages
Dim intRecordCount

'## -- connection string, vilken provider och db ska användas --
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("adresser.mdb")

'## -- hur många inlägg ska visas per sida --
intPageSize = 10

'## -- vilken sida ska visas --
intPage = Request.QueryString("page")

'## -- om ingen querystring med sidvärde hittas, visa då första sidan --
If intPage = "" Then intPage = 1
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConnString

strSQL = "SELECT * FROM adresser order by efternamn"

'## -- skapa ett recordset --
Set objRS = Server.CreateObject("ADODB.Recordset")
'## -- hur många poster ska visas per sida --
objRS.PageSize = intPageSize

'## -- öppna och hämta alla records --
objRS.Open strSQL, objConn, 3, 1

'## -- vilken sida i recordset uppdelningen ska visas --
objRS.AbsolutePage = intPage

'## -- hur många sidor finns i recordset uppdelningen --
intTotalPages = objRS.PageCount

If objRS.EOF Then
Response.Write "Det finns inga inlägg."
Else
'## -- lista alla inlägg som finns i db --
Do Until objRS.EOF or intRecordCount >= intPageSize

intRecordCount = intRecordCount + 1

strName = objRS(1)
strComment = objRS(2)
dteDate = objRS(3)

Response.Write "<B>Namn:</B> " & strName & "<BR>" & _
"<B>Datum:</B> " & dteDate & "<BR>" & _
"<B>Kommentar:</B><BR>" & _
strComment & _
"<HR size=""1"" noshade>"

objRS.MoveNext
Loop
End If

'## -- clean up --
objRS.Close
Set objRS = Nothing

objConn.Close
Set objConn = Nothing

'## -- visa sidnavigeringen --
'## -- intPage = vilken sida som ska visas --
'## -- intTotalPages = hur många sidor som recordsetet är uppdelat i --
Call PageNavigation(intPage, intTotalPages)
%>
</BODY>
</HTML>
<%
'## -- skapa sid-navigering --
Sub PageNavigation(ByVal WichPage, ByVal HowManyPages)
Dim strScriptName
Dim I

'## -- vilken sida ska navigeringen länka till --
strScriptName = Request.ServerVariables("SCRIPT_NAME")

'## -- visa föregående, länkat eller olänkat beroende på vilken sida som visas --
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

'## -- lista ut alla sidnummer --
For I = 1 To HowManyPages
If CInt(WichPage) <> I Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & I & "'>" & I & "</A> "
Else
Response.Write "[ <B>" & I & "</B> ] "
End If
Next

'## -- visa Nästa, länkad eller olänkad beroende på vilken sida som visas --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & WichPage + 1 & "'>Nästa >>"
Else
Response.Write "Nästa >>"
End If

End Sub
%>


och här är koden för en table med 3 cols:

<table>
<tr>

<%X = 1%>
<%Do until RS.EOF%>
<td>
<%=rs("fornamn") %>&nbsp;<%=rs("efternamn") %><br><%=rs("adress") %><br><%=rs("postnr") %>&nbsp;<%=rs("postadress") %><br><%=rs("land") %>
</td>

<%if X = 3 then%>
</tr>
<tr>
<%X = 0%>
<%end if%>

<%X = X -- 1%>
<%RS.MoveNext%>
<%loop%>
</tr>
</table>
Avatar billede benkebus Nybegynder
24. januar 2002 - 08:40 #4
nu vill jag på något sätt kombinera de 2 ovanstående scripten...
Avatar billede marit Nybegynder
24. januar 2002 - 09:03 #5
Dette virker hos mig, jeg har godt nok fjernet dine funktioner og sat koden ind, jeg syntes ikke at de fyldte så meget. Håber at det er det, du ledte efter.
intPageSize = 10
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
rs.PageSize = intPageSize

rs.AbsolutePage = intPage

intTotalPages = rs.PageCount
%>
<table>
<tr>
<%
x=1
'do until rs.eof
Do Until rs.EOF or intRecordCount >= intPageSize
intRecordCount = intRecordCount + 1
%>
<td>
<%="<b>"&rs("fornamn")&"</b>" %>&nbsp;<%=rs("efternamn") %><br><%=rs("adress") %><br><%=rs("postnr") %>&nbsp;<%=rs("postadress") %><br><%=rs("land") %>
</td>
<%if X = 3 then%>
</tr>
<tr>
<%X = 0%>
<%end if%>   
   
<%X = X -- 1
rs.movenext
loop

%>
</table>
<%
WichPage=intPage
HowManyPages=intTotalPages
strScriptName = Request.ServerVariables("SCRIPT_NAME")

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

'## -- lista ut alla sidnummer --
For I = 1 To HowManyPages
If CInt(WichPage) <> I Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & I & "'>" & I & "</A> "
Else
Response.Write "[ <B>" & I & "</B> ] "
End If
Next

'## -- visa Nästa, länkad eller olänkad beroende på vilken sida som visas --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & WichPage + 1 & "'>Nästa >>"
Else
Response.Write "Nästa >>"
End If
Avatar billede benkebus Nybegynder
24. januar 2002 - 09:12 #6
jahaja...

får detta felmeddelande:

Feltyp:
ADODB.Recordset (0x800A0BB9)
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
/axelsons/ettikett/index7.asp, line 14
Avatar billede marit Nybegynder
24. januar 2002 - 09:25 #7
Jeg kalder nu funktionen nederst, ved mig ligger den lige nedenunden scriptet, men jeg ved ikke hvor du har placeret den.
Hvis du laver en testside og tilføjer mit kode, så det hele er samlet virker det så heller ikke? hvilken linie er der fejl i?
intPageSize = 10
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
rsADO.PageSize = intPageSize

rsADO.AbsolutePage = intPage

intTotalPages = rsADO.PageCount
%>
<table border=0>
<tr>
<%
x=1
'do until rsADO.eof
Do Until rsADO.EOF or intRecordCount >= intPageSize
intRecordCount = intRecordCount + 1
%>
<td>
<%="<b>"&rsADO("Id")&"</b>" %>&nbsp;<%=rsADO("yy") %><br><%=rsADO("mm") %><br><%=rsADO("dd") %>&nbsp;<%=rsADO("ny") %>
</td>
<%if X = 3 then%>
</tr>
<tr>
<%X = 0%>
<%end if%>   
   
<%X = X -- 1
rsADO.movenext
loop%>
</table><br>

<%Call PageNavigation(intPage, intTotalPages)%>
Avatar billede benkebus Nybegynder
24. januar 2002 - 09:44 #8
ok...

så här har jag gjort:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set Rsado = Server.CreateObject("ADODB.Recordset")
dsn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("adresser.mdb")
conn.open dsn
SQL = "SELECT * from adresser"
   
rsado.Open SQL, Conn


intPageSize = 10
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
rsADO.PageSize = intPageSize

rsADO.AbsolutePage = intPage

intTotalPages = rsADO.PageCount
%>
<table border=0>
<tr>
<%
x=1
'do until rsADO.eof
Do Until rsADO.EOF or intRecordCount >= intPageSize
intRecordCount = intRecordCount + 1
%>
<td>
<%="<b>"&rsADO("fornamn")&"</b>" %>&nbsp;<%=rsADO("efternamn") %><br><%=rsADO("adress") %><br><%=rsADO("postnr") %>&nbsp;<%=rsADO("postadress") %>
</td>
<%if X = 3 then%>
</tr>
<tr>
<%X = 0%>
<%end if%>   
   
<%X = X -- 1
rsADO.movenext
loop%>
</table><br>

<%Call PageNavigation(intPage, intTotalPages)%>

detta meddelande visas:

Feltyp:
ADODB.Recordset (0x800A0CB3)
Objektet eller providern kan inte utföra den begärda åtgärden.
/axelsons/ettikett/index7.asp, line 16

och line 16 är:
rsADO.AbsolutePage = intPage
Avatar billede benkebus Nybegynder
24. januar 2002 - 09:50 #9
sorry fel av mig...

ersatte subben pagenavigation när jag klippte o klistrade...
men det blit inga länkar av pagenavigationen...

kolla på http://www.axelsons.se/ettikett/index7.asp
det finns 40 poster i databasen...
Avatar billede marit Nybegynder
24. januar 2002 - 10:34 #10
virker det nu?
Avatar billede benkebus Nybegynder
24. januar 2002 - 10:41 #11
nääh... det blir inga länkar, bara text med föregående och nästa men inga klickabara länkar...
Avatar billede marit Nybegynder
24. januar 2002 - 11:22 #12
prøv at udskriv HowManyPages og WichPage i PageNavigationfunktionen, den går i else derfor er der ingen link
Avatar billede benkebus Nybegynder
24. januar 2002 - 11:31 #13
de ger inget värde...
Avatar billede benkebus Nybegynder
04. juni 2002 - 07:53 #14
stänger frågan...
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