Seitenzahlen kürzen...

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

  • Seitenzahlen kürzen...

    Hallo an Alle!

    Ich hab nen Code, der mir aus ner MySQL-DB ne Menge Datensätze rausfischt und diese dann auf mehrere seiten verteilt an den User per HTML ausgibt. Der User kann auswählen, welche Seite er sehen will.

    Nun steh ich aber vor dem Problem, dass es langsam ziemlich viele Seiten werden. 15 und mehr, und dann sieht die Seitenauswahl ungefähr so aus:

    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

    Das ist natürlich nicht sehr schön, ich hätte lieber, dass es ungefähr so aussieht: (Wenn der User sich gerade auf Seite 7 befindet.

    [1] ... [6] [7] [8] ... [15]

    Ich hoffe, es ist klar, was ich mein. Hat vielleicht jemand eine Lösung für mein Problem?

    Danke im Voraus für jede Hilfe! merendo

  • #2
    das dies hier ein scriptgesuch ist (JA das ist eines), verschiebe ich mal ....

    hast du eigentlich schon einmal hier nachgesehen?
    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
      ich hab hier eine schöne Funktion geschrieben die das ganz kann...

      PHP-Code:
          /**
           * 
           * @param int $curpage aktuelle Seite (wird nicht als Link dargestellt)
           * @param string $link Datei auf die gelinkt werden soll
           * @param int $elm_pp Elemente pro Seite
           * @param int $whole_elm Gesamtanzahl der Elemente
           * @param boolean $showNextPageLink 
           * 
           * @return string Links zu jeder einzelnen Seite (HTML)
           */
          
      function getPagecode($curpage,$link,$elm_pp,$whole_elm,$showNextPageLink=false)
              {
                  
      //evtl. keine Elemente  vorhanden
                  
      if(!$whole_elm>|| !isset($whole_elm)) return("<span id=\"smalltext\"><b>Seite: 1</b>");
                  
                  
      //evtl. keine gültige (aktuelle Seite) übergeben
                  
      if(!(is_numeric($curpage)) || !isset($curpage)) $curpage=1;
                  
                  
      //Page Links erstellen
                  
      $pages intval($whole_elm $elm_pp);
                  if(
      $whole_elm $elm_pp <> 0$pages++;
              
                  
      $pagecode "";
                  if(
      $pages<=20)
                      {
                          for(
      $i=1;$i<=$pages;$i++)
                              {
                                  if(
      $i == $curpage)
                                      
      $pagecode .= "&nbsp;&nbsp;<b>$i</b>&nbsp;";
                                  else
                                      
      $pagecode .='&nbsp;&nbsp;<a href='.$link.'&page='.$i.'&show='.$show.'>'.$i.'</a>&nbsp;';
                              }
      //for
                      
      }//if
                  
      else
                      {
      //zu viele Seiten -> verkürzte Ausgabe
                          //aktuelle Seite am Anfang oder am Ende
                          
      if($curpage<=|| ($curpage>=$pages-5))
                              {
      //die ersten 5 seiten und die letzten 5 Seiten
                                  
      for($i=1;$i<=7;$i++)
                                      {
                                          if(
      $i == $curpage)
                                              
      $pagecode .= "&nbsp;&nbsp;<b>$i</b>&nbsp;";
                                          else
                                              
      $pagecode .='&nbsp;&nbsp;<a href='.$link.'&page='.$i.'&show='.$show.'>'.$i.'</a>&nbsp;';
                                      }
      //for
                                  
      $pagecode .= "...";
                                  
                                  for(
      $i=($pages-7);$i<=$pages;$i++)
                                      {
                                          if(
      $i == $curpage)
                                              
      $pagecode .= "&nbsp;&nbsp;<b>$i</b>&nbsp;";
                                          else
                                              
      $pagecode .='&nbsp;&nbsp;<a href='.$link.'&page='.$i.'&show='.$show.'>'.$i.'</a>&nbsp;';
                                      }
      //for                            
                              
      }//if
                          
      else
                              {    
      //akutelle Seite befindet sich in der mitte

                                  //ersten 3 Seiten
                                  
      for($i=1;$i<=3;$i++)
                                      {
                                          if(
      $i == $curpage)
                                              
      $pagecode .= "&nbsp;&nbsp;<b>$i</b>&nbsp;";
                                          else
                                              
      $pagecode .='&nbsp;&nbsp;<a href='.$link.'&page='.$i.'&show='.$show.'>'.$i.'</a>&nbsp;';
                                      }
      //for
                                  
      $pagecode .= "...";
                                  
                                  
      //3 Seiten vor der aktuellen, aktuelle Seite  und 3 Seiten danach
                                  
      for($i=$curpage-3;$i<=$curpage+3;$i++)
                                      {
                                          if(
      $i == $curpage)
                                              
      $pagecode .= "&nbsp;&nbsp;<b>$i</b>&nbsp;";
                                          else
                                              
      $pagecode .='&nbsp;&nbsp;<a href='.$link.'&page='.$i.'&show='.$show.'>'.$i.'</a>&nbsp;';
                                      }
      //for
                                  
      $pagecode .= "...";
                                  
      //die letzten 3 Seiten
                                  
      for($i=($pages-3);$i<=$pages;$i++)
                                      {
                                          if(
      $i == $curpage)
                                              
      $pagecode .= "&nbsp;&nbsp;<b>$i</b>&nbsp;";
                                          else
                                              
      $pagecode .='&nbsp;&nbsp;<a href='.$link.'&page='.$i.'&show='.$show.'>'.$i.'</a>&nbsp;';
                                      }
      //for
                                                              
                              
      }//else
                              
                      
      }//else
                      
                  
                  
      if($showNextPageLink) {
                      
      //vorherige Seite            
                      
      if(($curpage<>1) && ($curpage-1>0)) {
                          
      $pagecode '&nbsp;<a href="'.$link.'&page='.($curpage-1).'&show='.$show.'"><b>&laquo;</b></a>'.$pagecode;
                      }

                      
                      
      //nächste seite
                      //echo "$curpage<>$pages<br>$curpage+1>=$pages";
                      
      if(($curpage<>$pages) && ($curpage+1<=$pages)) {
                          
      $pagecode .= '&nbsp;<a href="'.$link.'&page='.($curpage+1).'&show='.$show.'"><b>&raquo;</b></a>';
                      }
                  }    
                  
      $pagecode "<span id=\"smalltext\"><b>Seite:</b>".$pagecode."</span>";
                  
                  return(
      $pagecode);                    
              } 

      Kommentar

      Lädt...
      X