Auslesen des Ergebnisses über mehrere Seiten verteilt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Auslesen des Ergebnisses über mehrere Seiten verteilt

    Hallo, ich habe hier folgendes Problem:

    damit ich auf meiner Seite beim Auslesen der MySQL-Datenbank nicht auf einer Seite dann 2000 Ergebnisse oder sowas in der Art habe, habe ich mir ein Script zusammengebastelt, was das Ergebnis auf mehrere "Seiten" aufteilt. Um genau zu sein, wird nichts anderes gemacht, als dass beim ersten aufruf der Seite die Inhalten 1-10, beim zweiten Aufruf die Inhalten 11-20 usw.. ausgegeben werden. Um zu den einzelnen "Seiten" zu navigieren, habe ich eine dynamische Navi für die Seiten gemacht. Doch man kann sichs vorstellen, nun habe ich unten dafür dann zig Navi-Links auf die einzelnen Seiten, denn es wird ja jede Seite einmal dort verlinkt. Wie kann ich nun folgendes erreichen?
    Beim ersten Aufruf (="Seite 1") soll unten lediglich die Navi für Seite 1-5 erscheinen, wenn ich dann auf 2 klicke, soll die Navi für 2-6 erscheinen, bei 3 für 3-7 usw.. Hat da jemand eine gute idee, denn ich komm da irgendwie nicht so richtig weiter.
    hier mein bisheriger code:
    PHP-Code:
    <?php
    // Ergebnisse auf einer Seite
    $ergproseite 4;  /*--> Es sollen immer 4 Ergebnisse aus der DB auf einer Seite ausgegeben werden*/
    if($_GET['startid']) :
      
    $abeintrag $_GET['pageid']; /*--> Sofern die Seite nicht die erste Seite ist (erster Aufruf) 
     wird mit $_GET eine id abgerufen, die ich dem SQL-Befehl "LIMIT" übergebe, damit dieser dann 
    die Datenbank ab dieser id und somit in der Datenbank der Betreffenden Reihe weiter ausliest 
    (woher die startid kommt, sieht man unten!)*/
    else :
      
    $abeintrag 0/*--> Falls die Seite zum ersten mal aufgerufen wird, dann wird standardmäßig 
    diese Variable auf 0 gesetzt, was dann somit nichts anderes bedeutet, als dass ab dem ersten 
    Eintrag ausgelesen wird*/
    endif;
    $num mysql_num_rows(mysql_query("SELECT * FROM `database`"));
    $anzseiten ceil($num/$ergproseite); /*--> Hier wird bestimmt 
    wieviele Seiten ich insgesamt brauchen werde, zur Sicherheit dass
     nicht 4.25 Seiten rauskommen wird aufgerundet*/

    $sql "SELECT * FROM `database` LIMIT $abeintrag,$ergproseite"/*--> Hier wird nun die Datenbank 
    ausgelesen, $abeintrag und $ergproseite geben genau an, von wo bis wo in der DB ausgelesen werden soll*/
    $result mysql_query($sql);
     
      if(
    mysql_num_rows($result_gal)) :
        while(
    $row mysql_fetch_assoc($result_gal)) :
          
    // HIER IST DANN DIE AUSGABE DES INHALTS //
        
    endwhile;
          
    // HIER SOLL JETZT DIE SEITENNAVIGATION FOLGEN //
          
    for($i=0$i<$anzseiten$i++) :
                echo 
    '[ <a href="datei.php?startid='.$i*$ergproseite.'">'.($i+1).'</a> ]&nbsp;';
          endfor; 
    //--> hier sieht man nun wo die startid her kommt, 
    ich übergebe da einfach per url genau die Zahlwo nachher dann
     auf der nächsten Seite mit dem Auslesen der DB ausgelesen
     werden soll
      
    endif;
    ?>
    danke für jede hilfe!
    Zuletzt geändert von mhr-runner; 07.01.2006, 16:47.

  • #2
    http://www.php-resource.de/forum/sho...threadid=50454
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Tut mir leid, ich hab leider nur einen Monitor, und nicht 4 nebeneinander.
      http://php-resource.de/forum/showthr...threadid=50454
      mfg - sagg

      Kommentar


      • #4
        sry, war keine Absicht, habs vergessen mit den umbrüchen reinzumachen tut mir leid

        Kommentar


        • #5
          anbei mal eine alte navigation von mir. das ist bestandteil meiner guestbook-class.

          zu sehen unter http://www.fehlercodes.de/trash/gbtest/

          wie gesagt ... das ding ist alt umständlich aber lauffähig. aber zum veranschaulichen ok, denke ich.

          meine neue navi bekommst du nicht.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            anbei? :P

            Kommentar


            • #7
              *ups*
              Angehängte Dateien
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar

              Lädt...
              X