Termine seitenweise ausgeben?

redwing78

Mitglied
Hallo, habe in einer Datenbank ca. 4000 Termine - wie kann ich es anstellen, daß sie nich alle auf einmal, sondern auf 40 Seiten zu je 100 Terminen ausgegeben werden? Man sieht doch öfters im unteren Randbereich Navigationsinstrumente, Seitenanwahl, etc.
Wie geht das?
Danke - lG redwing78
 
Hi Luzie, danke vielmals für den guten Link.
Ich hab mich für die erstere (weniger komplizierte) Variante entschieden, es ist also egal, wieviele Seiten in der Navigation am unteren Ende anklickbar sind.

ich habe das Skript in meinen ASP-Code eingebaut, aber eben genau diese Links, zB auf Ausgabe Seite 2, 3, 4, etc. werden bei mir nicht angezeigt..
Mit PageSize = X (Zahl), kann ich bestimmen, wieviele Einträge ausgegeben werden, das funktioniert bestens.

Die Seiten-Navigation sieht bei mir folgend aus:
Code:
if CInt(intPageCounter) = CInt(AbsolutePage) Then
Response.Write intPageCounter & ""	
Else
Response.Write "<a href='terminausgabe.asp?PN=" & intpageCounter & "'>" & intPageCounter & "</a>"
end if
... also eigtl. wie vorgegeben.
Woran kann das liegen, daß dies nicht angezeigt wird? Danke & LG Josef

Hier zur Kontrolle der ganze Teil des Skriptes:
Code:
<% Dim myDay, Bundesland, PageSize, intCounter, AbsolutePage, intPageCounter
Bundesland = "%"
if Request.QueryString("Bundesland") <> "" then Bundesland = Request.QueryString("Bundesland")
strDB = "Data Source=" & Server.MapPath("../../datenbank/ao06.ctl") ' Pfad und Dateiname der Datenbank
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & strDB ' Parameter zum &Ouml;ffnen der Datenbank
strTabelle = "Termine" ' Name der Tabelle oder Abfrage, die ge&ouml;ffnet werden soll			
Set objCon = Server.CreateObject("ADODB.Connection") ' Objekt f&uuml;r den Verbindungsaufbau mit der Datenbank			
objCon.Open strCon,3,3
strSQL = "SELECT TerminID, Datum, Uhrzeit, Adresse, PLZ, Ort, TerminTyp, Infos, Sonder, Link, Aktiv, Username FROM AufOnlineTermine WHERE Datum >= DATE() AND Bundesland LIKE '" & Bundesland & "' AND Aktiv='Ja' ORDER BY Datum,PLZ,Uhrzeit"		

PageSize = 20
intCounter = 1
AbsolutePage = Request("PN")
Set objRS = Server.CreateObject("ADODB.Recordset") ' Objekt fuer das Recordset-Objekt				
objRS.PageSize = PageSize
objRS.CacheSize = PageSize								
objRS.Open strSQL, objCon 	
AbsolutePage = 1
			
if objRS.BOF or objRS.EOF then
Response.Write "<tr><td class='texts'>Es sind keine entsprechenden Termine verfügbar!</td></tr>"
else
end if			

if AbsolutePage = "" Or Not IsNumeric(AbsolutePage) Or CInt(AbsolutePage) > CInt(objRS.PageCount) Then
AbsolutePage = 1
End if
			
objRS.MoveFirst ' Geht zum ersten Datensatz
DO while not objRS.EOF And intCounter <= PageSize	
		
IF myDay = "" or myDay <> day(objRS("Datum")) THEN
Response.Write "<table border='0' width='640' cellspacing='0' cellpadding='0'><tr><td class='textk'><br><font color='red'>" & Weekdayname(weekday(objRS("Datum"))) & ", " & objRS("Datum") & "</font></td></tr></table><table border='0' width='640' cellspacing='0' cellpadding='0'>"
myDay = day(objRS("Datum"))			  
END IF
			
IF objRS("Sonder")="Ja" THEN
Response.Write "<tr><td class='textk' width='15'><img src='bullet_stern.jpg'></td>"
ELSE
Response.Write "<tr><td class='textk' width='15'>&nbsp;</td>"			
END IF	
			
IF objRS("Link")="" THEN
Response.Write "<td width='15' class='textk'>&nbsp;</td>"
ELSE
Response.Write "<td width='15' class='textk'><a href='http://" & objRS("Link") & "' target='_blank'><img src='img_link2.gif' border='0'></a></td>"
END IF			
			
Response.Write ("<td width='40' class='textk'>" & objRS("PLZ") & "</td>" & _
"<td width='60' class='textk'>" & objRS("Ort") & "</td>" & _
"<td width='130' class='textk'>" & objRS("Adresse") & "</td>" & _
"<td width='110' class='textk'>" & objRS("TerminTyp") & "</td>" & _
"<td width='60' class='textk'>" & objRS("Uhrzeit") & " Uhr</td>" & _
"<td width='150' class='textk'>" & objRS("Infos") & "</td></tr>")
	     	
intCounter = intCounter + 1
objRS.MoveNext ' Geht einen Datensatz weiter			  
LOOP
						
Response.Write "</table>"			  
For intPageCounter = 1 To objRS.PageCount
			
if CInt(intPageCounter) = CInt(AbsolutePage) Then
Response.Write intPageCounter & ""	
Else
Response.Write "<a href='terminausgabe.asp?PN=" & intpageCounter & "'>" & intPageCounter & "</a>"
end if
next%>
DANKE & LG redwing78
 
Zuletzt bearbeitet:
Hallo

ich vergleich das jetzt nicht Zeile für Zeile :)

Bei solchen Scirpts ist es immer besser, man passt sein eigenes in das bereits funktionierende Script (in diesem Falle von St. Falz).

Dann würde z.B. auch diese Sachen nicht passieren

objRS.Open strSQL, objCon,3,3

Die Konstantenwerte fehlen bei Dir.
 
hi, danke für den Tipp, jetzt wird die Navigation angezeigt!
Lediglich wenn man auf den Link von Seite 2 und 3 klickt, erscheinen immer noch die Termine von der ersten Seite ... was kann da los sein? Im SQL-Code muss man nix ändern oder?
Danke für die Bemühungen (bald haben wirs) ,
Josef

http://www.fckitz.at/test/ao06/terminausgabe.asp
 
Zuletzt bearbeitet:
Hi

leider habe ich keine Zeit, mit Zeile für Zeile anzusehen.

Ich habe das Script schon x-mal probiert, umgeschrieben etc. Es hat immer funktioniert.

Was passiert hier?

objRS.MoveFirst ' Geht zum ersten Datensatz

Wenn es nicht funktioniert, musst Du es neu bauen, erst einfach, dann später komplett.
 

Neue Beiträge

Zurück