bilder galerie mit pagging

rupi

Grünschnabel
Hallo alle miteinander
Ich habe folgendes Problem:
Ich möchte eine Bildergalerie erstellen. Die ohne Scrollbalken funktionieren sollte.
Zum Beispiel: 4 Bilder auf einer Zeile dann Umbruch, wieder 4 Bilder usw.
soweit alles geschnallt. Nun habe ich das Problem, dass ich keinen Scrollbalken haben möchte nur immer 12 Bilder pro Seite anzeigen und dann weiterklicken.
Zur Übersicht. Zuerst habe ich mal die Bilderdatenbank die wie folg aussieht: (Abgekürzt)

Dim AnzahlSpalten, spalte
AnzahlSpalten = 4
spalte=-1
response.write "<table width=481 border=0 cellspacing=0 cellpadding=0 align=left>"
response.write ("<tr>")
response.write ("<td align=center colspan=5>")
response.write ("</td>")
response.write ("</tr>")
' --- Schleife öffnen und errechnen der nötigen Zeilen
Do while not objRS.eof
spalte = (spalte+1) mod AnzahlSpalten
if spalte=0 then response.write "<tr>"
' --- Daten schreiben
response.write ("<td>")
%>
<a href="linkzumbild">
<img src="<% response.write (objRS("url_prev")) %>.jpg" width="100" height="75" alt="" border="0">
<%
response.write ("</a>")
response.write ("<br><br>")
response.write ("</td>")
' --- Abschließen der Zeile, wenn alle gefüllt sind
if spalte=AnzahlSpalten-1 then response.write "</tr>"
objRS.moveNext
Loop
Dim i
For i = spalte+1 to AnzahlSpalten-1
response.write "<td> </td>"
if i=AnzahlSpalten-1 then response.write "</tr>"
next
response.write "</table>"
%>

Wenn ich nun die Verbinungen oben reinstelle und unten schliesse funktioniert das einwandfrei. Nun habe ich das pagging erstellt und komme nun mit den Schleifen nicht ganz klar.

Hier wäre das pagging Teil:

<%
lngRecordNo = CLng(Request.QueryString("ID"))
' --- Erstellen der Datenbankverbindung
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("meinedatenbank.mdb")

Dim SQL
SQL = "SELECT * FROM tblgalerie WHERE img_katID=" & lngRecordNo &""

Dim PageSize
PageSize = 12

Dim intCounter
intCounter = 1

Dim AbsolutePage
AbsolutePage = Request("PN")

Set objRS = Server.CreateObject("ADODB.Recordset")

objRS.PageSize = PageSize
objRS.CacheSize = PageSize
objRS.Open SQL, objConn, 3, 3
If AbsolutePage = "" Or Not IsNumeric(AbsolutePage) Or CInt(AbsolutePage) > CInt(objRS.PageCount) Then
AbsolutePage = 1
End if

objRS.AbsolutePage = AbsolutePage

Do While Not objRS.EOF And intCounter <= PageSize
%>

Hier sollte nun die Bildergalerie rein!

<%
intCounter = intCounter + 1


objRS.MoveNext
Loop
Response.Write ("anzahl seiten ")

For intPageCounter = 1 To objRS.PageCount


If CInt(intPageCounter) = CInt(AbsolutePage) Then

Response.Write intPageCounter & " "
Else
Response.Write "<a href=""meineseite.asp?PN=" & intPageCounter & """>" & intPageCounter & "</a> "
End if
Next
%>

<%
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>

Das Teil funktioniert einfach ned. Kommt die Fehlermeldung:

ADODB.Recordset (0x800A0BCD)
Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Der angeforderte Vorgang benötigt einen aktuellen Datensatz.
fehlerzeile ist da wo ich die schleife wiederhole (objRS.MoveNext)

Ich weiss...es ist sehr wahrscheinlich ein bisschen viel Code, aber weiss sonst nicht wie erklären.

Danke für eure Hilfe, bin echt am Ende meines Lateins ;)

rupi
 
Zuletzt bearbeitet:
Zurück