PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Seiten umblättern funktion erweiteren (http://www.selfphp.de/forum/showthread.php?t=21743)

saidbuchari 05.07.2009 15:20:48

Seiten umblättern funktion erweiteren
 
Hallo :)

Ich habe eine Seiteunumblätter funktion die Daten aus einer DB auf mehrere Seiten verteilt. Jetzt habe ich manchmal allerdings mehr als 100 Seiten ergebnisse und will das er immer nur 20 ausgibt. wie kann ich meine funktion darum erweitern?

PHP-Code:

function blaettern_aufbau($limit,$seite,$tabelle){
        
$s $_GET['s'];
        
$s str_replace('"','"',$s);
        
$s str_replace("+",'%2B',$s);

        
$result mysql_query($tabelle);
        
$menge mysql_num_rows($result);
        
//Errechnen wieviele Seiten es geben wird
        
$wieviel_seiten $menge $limit;
        
$nachste $seite+1;
        
$vorherige $seite-1;
        
        
//Ausgabe der Seitenlinks:
        
echo "<div align=\"left\" style=\"width:auto;\" id=\"seiten_umbl\" class=\"seiten_umbl\">";    
        echo 
"<span id=\"seiten_umbl\" class=\"seiten_umbl2\"><b>Seite:</b></span> ";
        if(
$seite 1){
        echo 
"<a  id=\"seiten_umbl\" class=\"seiten_umbl\" href=\"?seite=$vorherige&l=".$_GET['l']."&q=".$_GET['q']."&s=".$s."&sort=".$_GET['sort']."\">Vorherige</a>";    
        }        
        
//Ausgabe der Links zu den Seiten
        
for($a=0$a $wieviel_seiten$a++){
            
$b $a 1;
            
//Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
           
if($seite == $b){
                  echo 
"  <span id=\"seiten_umbl\" class=\"seiten_umbl2\"><b>$b</b></span> ";
                  }else{
                  echo 
"  <a  href=\"?seite=$b&l=".$_GET['l']."&q=".$_GET['q']."&s=".$s."&sort=".$_GET['sort']."\">$b</a> ";
                  }
            }
            if(
$seite $b){
            echo 
"<a  href=\"?seite=$nachste&l=".$_GET['l']."&q=".$_GET['q']."&s=".$s."&sort=".$_GET['sort']."\">Nächste</a></div>";
            }else{
            echo 
"</div>";
            }


für Denkanstösse wäre ich sehr dankbar.

Liebe Grüsse
Said

vt1816 05.07.2009 17:14:09

AW: Seiten umblättern funktion erweiteren
 
Zitat:

Zitat von saidbuchari (Beitrag 129026)
[...]
für Denkanstösse wäre ich sehr dankbar.

Liebe Grüsse
Said

Dynamische Seitennavigation – Seite 1 von n

saidbuchari 05.07.2009 20:40:18

AW: Seiten umblättern funktion erweiteren
 
mh danke schön guck ich mir gleich mal an.

Liebe Grüsse Said

elkmod 06.07.2009 11:42:55

AW: Seiten umblättern funktion erweiteren
 
Ich habe für meine eigene Seite mal folgendes gebastelt und es funktioniert gut:

PHP-Code:

// Seitenfunktion
  
function read_forum_pages($page) {
  
  
$itemsperpage 20// Wie viele Einträge pro Seite?
  
  
if(ISSET($page)){
  
  
$end   $page $itemsperpage// Letzter Eintrag
  
$start $end $itemsperpage// Erster Eintrag
  
  
$limit "SELECT * FROM tabelle LIMIT ".$start.", ".$itemsperpage// SQL-Abfrage basteln
  
} else {
  
$limit "SELECT * FROM tabelle LIMIT 0, ".$itemsperpage// SQL-Abfrage basteln
  
}
  
  return 
$limit;
  
  } 


PHP-Code:

function show_forum_pages($forum_id) {
  
    
$itemsperpage 20// Einträg epro Seite
  
    
$sql "SELECT * FROM eintraege WHERE forum_id =".$forum_id// SQL Anfrage
    
    
$db_erg mysql_query($sql); // Anfrage
    
    
$beitraege mysql_num_rows($db_erg); // Anzahl d. Datensätze
    
    
$seiten_raw $beitraege $itemsperpage//Bsp: 67/20 = 3.35
    
    
$seiten ceil($seiten_raw); // Aufrunden auf 4
    
    
echo 'Seiten: ';
    
    for(
$i 1;$i <= $seiten;$i++) {

      if(
$page == $i) {
        echo 
'<b>'// Seitenzahl ggf. fett schreiben
      
}

      echo 
'<a href="index.php?section=forum&forum_id='.$forum_id.'&page='.$i.'">'.$i.'</a>&nbsp;'// Link machen

      
if($page == $i) {
        echo 
'</b>';  // Seitenzahl ggf. fett schreiben
      
}
      
    }
    
  } 



Alle Zeitangaben in WEZ +2. Es ist jetzt 21:28:59 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.