En variant på paging hittar du här:
http://www.webforum.nu/showthread.php?s=&threadid=76181&forumid=148
Tips:
Använd gärna [kod]-taggarna när du visar kod här på wF. :)
6 svar · 221 visningar · startad av Fishermen
Hej
Har knåpat ihop ett bildgalleri där jag använder aspsmartupload och aspimage. Bilderna lagras endast som namn i databasen.
Databasen innehåller följande:
id
filnamn
kategori
beskrivning
Allt fungerar alldeles utmärkt men nu undrar jag hur jag skall få till pagingen på dessa sidor.
Allt fungerar på så sätt att jag har gjort en inloggningsida som om allt är Ok skickar mig vidare till en inmatningssida.
Där skriver jag in en kategori som jag vill ha och en beskrivning på bilden samt laddar upp en bild.
Sidan som visar bilderna i speciell kategori skapas alltså automatiskt. Väljer jag en ny kategori så skapas även den direkt på sidan.
som jag tidigare sagt funkar allt som det ska men jag skulle vilja ha paging på sidorna. Jag har testat med olika pagingscript men får det inte att fungera.
Så här ser koden ut som visar en speciell sida:
<!-- #include file="adovbs.inc" -->
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "databasen"
Set rs = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM galleri WHERE kategori = '" & Trim(Request.QueryString("id")) & "' ORDER BY id DESC"
rs.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<table width="500" border="0" cellspacing="0" cellpadding="0" align="center">
<% n = 5
do until rs.eof
if n = 5 then
response.write "</tr><tr>"
n = 0
end if
n = n + 1 %>
<td valign="top"><font face="verdana, arial" size="1" color="#DDDDDD"><b>
<a href="showpic.asp?<%=("id=" & Server.URLEncode(rs("id")))%>"><img src="http://www.internetsidan.com/bildgalleri/images/\<%= rs("filnamn") %>" bordercolor="#FFFFFF" border=1 alt="<%= rs("beskrivning") %>"></a><br><br>
</b></font></td>
<%
rs.movenext
loop
%>
<br>
</table>
<% rs.Close
set rs=nothing
connect.close
set connect=nothing %>
Sidan lägger alltså upp 5 st bilder bredvid varandra och gör automatiskt en ny rad med 5 st nya bilder.
Frågan lyder alltså:
Säg att jag vill visa 5 rader med 25 st bilder och sen vill jag kunna gå till nästa sida. Jag har kört fast och vore tacksam med lite tips.
För er som vill se galleriet i action gå in på:
http://www.topofeurope.com/sm2kal/bildgalleri/bildgalleri.asp
Hoppas på svar
Micke
En variant på paging hittar du här:
http://www.webforum.nu/showthread.php?s=&threadid=76181&forumid=148
Tips:
Använd gärna [kod]-taggarna när du visar kod här på wF. :)
pagingfrågan
OK
Sorry för koden, har inte gjort så många inlägg tidigare så man glömmer bort sig. Är en riktig hemmaknackare...
hihi
Pagingfrågan
Tack för inlägget Palle
skall ta mig en titt på det.
Problemet är alltså att det blir galet mellan kolumner och sidor...
Hade inget bättre för mig.. så jag knåpade ihop ett litet pagingsystem åt dig.
Hur fungerar detta?
[red]<%
intQueryID = trim(Request.QueryString("id"))
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "databasen"
Set rs = Connect.Execute("SELECT id, filnamn, beskrivning FROM galleri WHERE kategori='"& intQueryID &"' ORDER BY id DESC"
If NOT rs.EOF Then arrRecSet = rs.GetRows()
rs.Close : Set rs = Nothing
Connect.Close
Set Connect = Nothing
If IsArray(arrRecSet) Then
Response.Write ""&_
"<table width=""500"" border=""0"" cellspacing=""0"" cellpadding=""0"" align=""center"">"&_
"<tr>"
intPostsPerPage = 25
If Len(trim(Request.Querystring("n"))) > 0 Then intPage = cInt(trim(Request.Querystring("n"))) Else intPage = 1
intFirstPost = (intPage - 1) * intPostsPerPage
intTotalPosts = UBound(arrRecSet, 2)
intPages = ((intTotalPosts)\intPostsPerPage)+1
If intFirstPost + (intPostsPerPage - 1) >= UBound(arrRecSet,2) Then
intLastPost = UBound(arrRecSet, 2)
Else
intLastPost = intFirstPost + (intPostsPerPage - 1)
strNext = True
End If
'// Skriv ut posterna
For i = intFirstPost To intLastPost
intID = arrRecSet(0,i)
strBild = arrRecSet(1,i)
strBeskrivning = arrRecSet(2,i)
Response.Write ""&_
"<td valign=""top""><font face=""verdana, arial"" size=""1"" color=""#DDDDDD""><b>"&_
"<a href=""showpic.asp?id="& intID &"""><img src=""http://www.internetsidan.com/bildgalleri/images/"& strBild &""" bordercolor=""#FFFFFF"" border=""1"" alt="""& strBeskrivning &"""></a><br><br>"&_
"</b></font></td>"
If cInt(i+1) Mod 5 = 0 Then Response.Write "<tr></tr>"
Next
Response.Write ""&_
"</tr>"&_
"</table>"&_
"<table width=""500"" border=""0"" cellspacing=""0"" cellpadding=""0"" align=""center"">"&_
"<tr>"&_
"<td>"
If intPage > 1 Then
Response.Write ""& vbcrlf &" <a href=""showpic.asp?id="& intQueryID &"&n="" >Första</a> | <a href=""showpic.asp?id="& intQueryID &"&n="& intPage - 1 &""">Backa</a> | "
Else
Response.Write ""& vbcrlf &" Första | Backa | "
End If
If intTotalPosts > intPostsPerPage Then
If intPage < 4 Then
intNavStart = 1 : intNavEnd = 5
ElseIf intPage > intPages-3 Then
intNavStart = intPages-4 : intNavEnd = intPage+2
Else
intNavStart = intPage-2 : intNavEnd = intPage+2
End If
For n = intNavStart To intNavEnd
If intPage = n Then
Response.Write "<strong>"& n &"</strong> | "
Else
Response.Write "<a href=""showpic.asp?id="& intQueryID &"&n="& n &""">"& n &"</a> | "
End If
If n = intPages Then Exit For
Next
End If
If strNext = True Then
Response.Write "<a href=""showpic.asp?id="& intQueryID &"&n="& intPage + 1 &""">Nästa</a> | <a href=""showpic.asp?id="& intQueryID &"&n="& intPages &""">Sista</a>"& vbcrlf
Else
Response.Write "Nästa | Sista"& vbcrlf
End If
Response.Write ""&_
"</td>"&_
"</tr>"&_
"</table>"
%>[/red]
Pagingen funkar klockrent
Tackar och bockar Palle...
Grymt imponerad, scriptet funkar ju klockrent...
Ni på Webforum är guld värda...
Inga problem, trevligt att det fungerade med en gång. :bire