Enrico: Bestimmte Vorstellung eines Blättermechanismus umsetzen

Hallo,

ich möchte bei meiner DVD-Verwaltung folgenden Blättermechanismus über Javascript einbauen:

Seite 1 von 23   1 [2] [3] [4] [5] [6-23] [Nächste Seite] [Letzte Seite]

Seite 2 von 23   [Erste Seite] [1] 2 [3] [4] [5] [6-23] [Nächste Seite] [Letzte Seite]

Seite 3 von 23   [Erste Seite] [Vorherige Seite] [1] [2] 3 [4] [5] [6-23] [Nächste Seite] [Letzte Seite]

Seite 4 von 23   [Erste Seite] [Vorherige Seite] [1] [2] [3] 4 [5] [6-23] [Nächste Seite] [Letzte Seite]

Seite 5 von 23   [Erste Seite] [Vorherige Seite] [1] [2] [3] [4] 5 [6-23] [Nächste Seite] [Letzte Seite]

Seite 6 von 23   [Erste Seite] [Vorherige Seite] [1-5] 6 [7] [8] [9] [10] [11-23] [Nächste Seite] [Letzte Seite]

Seite 7 von 23   [Erste Seite] [Vorherige Seite] [1-5] [6] 7 [8] [9] [10] [11-23] [Nächste Seite] [Letzte Seite]

Seite 8 von 23   [Erste Seite] [Vorherige Seite] [1-5] [6] [7] 8 [9] [10] [11-23] [Nächste Seite] [Letzte Seite]

Seite 9 von 23   [Erste Seite] [Vorherige Seite] [1-5] [6] [7] [8] 9 [10] [11-23] [Nächste Seite] [Letzte Seite]

Seite 10 von 23  [Erste Seite] [Vorherige Seite] [1-5] [6] [7] [8] [9] 10 [11-23] [Nächste Seite] [Letzte Seite]

Seite 11 von 23  [Erste Seite] [Vorherige Seite] [1-10] 11 [12] [13] [14] [15] [16-23] [Nächste Seite] [Letzte Seite]

Seite 12 von 23  [Erste Seite] [Vorherige Seite] [1-10] [11] 12 [13] [14] [15] [16-23] [Nächste Seite] [Letzte Seite]

Seite 13 von 23  [Erste Seite] [Vorherige Seite] [1-10] [11] [12] 13 [14] [15] [16-23] [Nächste Seite] [Letzte Seite]

Seite 14 von 23  [Erste Seite] [Vorherige Seite] [1-10] [11] [12] [13] 14 [15] [16-23] [Nächste Seite] [Letzte Seite]

Seite 15 von 23  [Erste Seite] [Vorherige Seite] [1-10] [11] [12] [13] [14] 15 [16-23] [Nächste Seite] [Letzte Seite]

Seite 16 von 23  [Erste Seite] [Vorherige Seite] [1-15] 16 [17] [18] [19] [20] [21-23] [Nächste Seite] [Letzte Seite]

Seite 17 von 23  [Erste Seite] [Vorherige Seite] [1-15] [16] 17 [18] [19] [20] [21-23] [Nächste Seite] [Letzte Seite]

Seite 18 von 23  [Erste Seite] [Vorherige Seite] [1-15] [16] [17] 18 [19] [20] [21-23] [Nächste Seite] [Letzte Seite]

Seite 19 von 23  [Erste Seite] [Vorherige Seite] [1-15] [16] [17] [18] 19 [20] [21-23] [Nächste Seite] [Letzte Seite]

Seite 20 von 23  [Erste Seite] [Vorherige Seite] [1-15] [16] [17] [18] [19] 20 [21-23] [Nächste Seite] [Letzte Seite]

Seite 21 von 23  [Erste Seite] [Vorherige Seite] [1-20] 21 [22] [23] [Nächste Seite] [Letzte Seite]

Seite 22 von 23  [Erste Seite] [Vorherige Seite] [1-20] [21] 22 [23] [Letzte Seite]

Seite 23 von 23  [Erste Seite] [Vorherige Seite] [1-20] [21] [22] 23

Die Zahlen ohne eckige Klammern sollen hierbei die aktuell angezeigte Seite symbolisieren, die Zahlen in eckigen Klammern
Links auf die verbleibenden Seiten(gruppen).

Mein Problem ist nun, meine Vorstellung in Programmierlogik oder besser gesagt, in eine Funktionsstruktur zu bringen mit
allen möglichen Abfragen, u.U. notwendigen Verschachtelungen ...usw...

Mir geht es hier nicht um die Programmierung als solche, sondern nur um die Logik bzw. die Ausformulierungen der notwendigen
Abfragen und deren Verschachtelungen, damit ich diesen "Text" dann nach Javascript "übersetzen" kann:

Wenn die aktuelle Seite gleich 1 ist, dann...

Könnt Ihr mir hier behilflich sein und mir - in Textform - bei der Entwicklung des grundsätzlichen Aufbau bzw. der Abfolge(n)
Tips geben?

Vielen lieben Dank im Voraus und Gruß
Enrico

  1. Wieso willst du sowas per Javascript umsetzen und nicht mit einer serverseitigen Sprache?
    Ich halte hier Javascript für einen schlechten Ansatz, lasse mich aber gerne von dir vom Gegegenteil überzeugen ;)

    1. Hallo Multi,

      ich versuch's mal :-)

      Ich lese die komplette "Datenbank" über einen unsichtbaren Frame ein und
      splitte das Array (?), das ich dann bekomme in Zeilen auf.

      Diese Zeilen ordne ich dann über eine Schleifenkonstruktion einer bestimmten
      Seite zu (ebenfalls ein Array), so dass ich dann im Array-Element Seite[0]
      beispielsweise die Filme mit den Nummern 1-30 habe, in Seite[1] die Filme
      von 31-60 usw.

      Somit kann ich die Ansicht über Javascript sehr schnell umschalten, indem
      ich - bildlich - einfach sage "Zeige Seite[0]" und schon habe ich die
      Filme am Bildschirm.

      Gruß
      Enrico

      Wieso willst du sowas per Javascript umsetzen und nicht mit einer serverseitigen Sprache?
      Ich halte hier Javascript für einen schlechten Ansatz, lasse mich aber gerne von dir vom Gegegenteil überzeugen ;)

      1. Ich lese die komplette "Datenbank" über einen unsichtbaren Frame ein und
        splitte das Array (?), das ich dann bekomme in Zeilen auf.

        Du benutzt das dann nur lokal auf deinem Rechner, oder?
        Denn wenn das eine Internetseite ist, kannst du davon ausgehen, ca. 50% aller Besucher können deine Seite nicht nutzen, da der Rechner, auf dem der Browser läuft, nicht genug Rechenleistung hat, um sowas in einer annehmbaren Zeit umzusetzen.

        Mal abgesehen davon ist das ein klassischer Anwendungsfall für AJAX, was dann den unschönen unsichtbaren Frame eliminieren würde.

  2. Hi Enrico,

    nur zum Verstaendnis - was soll denn passieren, wenn man auf einen Link der Form [11 - 23] klickt?

    danke, viele Gruesse
    der Bademeister

    1. Hallo Bademeister,

      da hast Du recht, ein wichtiges Details:

      Klickt man auf einen Link nach dem Muster [11-23], dann soll die Seitenanzeige
      entsprechend umschalten, d.h. die nächsten 5 Seiten anzeigen.

      Gruß
      Enrico

      1. Mahlzeit Enrico,

        Klickt man auf einen Link nach dem Muster [11-23], dann soll die Seitenanzeige
        entsprechend umschalten, d.h. die nächsten 5 Seiten anzeigen.

        Auf einmal? Oder vielleicht doch lieber die erste der entsprechenden 5 Seiten anzeigen?

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Hallo und Mahlzeit EKKi,

          die Anzeige soll die nächsten 5 Seitenlinks anbieten und die erste der 5
          Seiten dieser Gruppe angezeigt werden... ;-)

          Gruß
          Enrico

          1. Mahlzeit Enrico,

            die Anzeige soll die nächsten 5 Seitenlinks anbieten und die erste der 5
            Seiten dieser Gruppe angezeigt werden... ;-)

            Dann wäre der Link namens "[6 - 23]" also schlicht und ergreifend ein Link auf die Seite 6 ... da ja dort die 4 folgenden Seiten einzeln als Link angezeigt werden.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. Hallo EKKi,

              genau so habe ich mir das vorgestellt und abhängig davon werden die anzuzeigenden
              Seitenlinks entsprechend angepasst.

              Gruß
              Enrico

          2. Hi

            die Anzeige soll die nächsten 5 Seitenlinks anbieten und die erste der 5
            Seiten dieser Gruppe angezeigt werden... ;-)

            Heisst das dann, wenn ich etwa auf Seite 7 bin und auf den Link [1-5] klicke, komme ich zu Seite 1? Dann ist erstens der Link voellig ueberfluessig und zweitens die Beschriftung ausserordentlich kontraintuitiv. Wenn jeder Link zu genau einer Seite fuehrt, dann beschrifte doch den Link auch so, dass er nur die Seite nennt, auf die er zeigt.
            Oder?

            viele Gruesse
            der Bademeister

            1. Yerf!

              Heisst das dann, wenn ich etwa auf Seite 7 bin und auf den Link [1-5] klicke, komme ich zu Seite 1? Dann ist erstens der Link voellig ueberfluessig und zweitens die Beschriftung ausserordentlich kontraintuitiv.

              Ja, diese Beschriftung halte ich auch für sehr unglücklich. Noch schlimmer wirds bei [1-10], der dann auf Seite 6 führt...

              Gruß,

              Harlequin

              --
              <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
  3. Yerf!

    Mir geht es hier nicht um die Programmierung als solche, sondern nur um die Logik bzw. die Ausformulierungen der notwendigen
    Abfragen und deren Verschachtelungen, damit ich diesen "Text" dann nach Javascript "übersetzen" kann:

    Wenn die aktuelle Seite gleich 1 ist, dann...

    Ich würde das ganze Stückweise von links aus lösen, also immer schauen ob und wie ein Textbaustein der Zeile ausgegeben werden soll.

    So nach dem Schema:

    • Ausgeben "Seite $Aktuell von $MAX"
    • Ausgeben "[Erste Seite]" wenn $Aktuell != 1
    • Ausgeben "[vorherige Seite]" wenn $Aktuell > 2
      usw.

    Die Gruppen und Position der Seite innerhalb der Gruppe kannst du per Divison und Modulo 5 asu $Aktuell ermitteln.

    Gruß,

    Harlequin

    --
    <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->