tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
825
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    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
     

  2. #2
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Hi

    Beispiel

    Kleine Ergänzung von mir

    Wobei ich bei... wieviel, ach so, 4000 Terminen keine 100er Schritte schreiten möchte, um einen bestimmten zu sehen. Du solltest mal über ein gutes Suchformular nachdenken.
    Geändert von Luzie (25.09.06 um 21:36 Uhr)
     
    liebe Grüße, die Luzie

  3. #3
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    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 :
    1
    2
    3
    4
    5
    
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    
    <% 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
    Geändert von redwing78 (26.09.06 um 17:14 Uhr)
     

  4. #4
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    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.
     
    liebe Grüße, die Luzie

  5. #5
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    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

    www.fckitz.at/test/ao06/terminausgabe.asp
    Geändert von redwing78 (26.09.06 um 17:07 Uhr)
     

  6. #6
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    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.
     
    liebe Grüße, die Luzie

  7. #7
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    jetzt hab ichs! Das Statement moveFirst muss zu moveNext umgeschrieben werden.
    Danke für die liebe Hilfe!!
    LG Josef
     

  8. #8
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    dat kann eigentlich ganz raus.
    Movenext gibst Du ja schon aus.
     
    liebe Grüße, die Luzie

Ähnliche Themen

  1. Kommandozeile Seitenweise Ausgabe - Unterschied?
    Von mkoeni1 im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 30.10.07, 10:42
  2. Datenbank Suchergebnisse Seitenweise ausgeben
    Von zyro im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 08.02.07, 10:06
  3. seitenweise Anzeige
    Von kne im Forum PHP
    Antworten: 22
    Letzter Beitrag: 03.04.06, 12:35
  4. Kalender-Termine ausgeben und Link erstellen
    Von vquicksilver im Forum PHP
    Antworten: 3
    Letzter Beitrag: 29.03.06, 14:07
  5. seitenweise Ausgabe
    Von glen im Forum PHP
    Antworten: 5
    Letzter Beitrag: 07.10.03, 17:34