kostenloser Webspace werbefrei: lima-city


Blätterfunktion wie bei Lima

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    Moin Moin alle miteinander

    ich brauche langsam ne neue Blätterfunktion, ungefair so, wie die bei Lima.
    meine ist bis jetzt so, dass alle Seiten aufgelistet werden... aber bei 200 Seiten kann das ganz schön behindert aussehen und wird unübersichtlich. Hier ist mal meine jetzige:

    $seite = $_GET["seite"];  //Abfrage auf welcher Seite man ist 
    
    //Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1 
    if(!isset($seite)) 
       { 
       $seite = 1; 
       } 
    
    //Verbindung zu Datenbank aufbauen 
    
    $link = mysql_connect("localhost","Username","Passwort") or die ("Keine Verbindung moeglich"); 
    mysql_select_db("Datenbank") or die ("Die Datenbank existiert nicht"); 
    
    
    //Einträge pro Seite: Hier 15 pro Seite 
    $eintraege_pro_seite = 15; 
    
    //Ausrechen welche Spalte man zuerst ausgeben muss: 
    
    $start = $seite * $eintraege_pro_seite - $eintraege_pro_seite; 
    
    
    //Tabelle Abfragen 
    //Tabelle heißt hier einfach: Tabelle 
    $abfrage = "SELECT * FROM Tabelle LIMIT $start, $eintraege_pro_seite"; 
    $ergebnis = mysql_query($abfrage); 
    while($row = mysql_fetch_object($ergebnis)) 
        { 
       echo $row->id."<br>"; // Hier die Ausgabe der Einträge 
       } 
    
    
    //Jetzt kommt das "Inhaltsverzeichnis", 
    //sprich dort steht jetzt: Seite: 1 2 3 4 5 
    
    
    //Wieviele Einträge gibt es überhaupt 
    
    //Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten 
    //also der gleiche Text wie in der Variable $abfrage, blo&szlig; das hier das LIMIT fehlt 
    //Sonst funktioniert die Blätterfunktion nicht richtig, 
    //und hier kann nur 1 Feld abgefragt werden, also id 
    
    $result = mysql_query("SELECT id FROM Tabelle"); 
    $menge = mysql_num_rows($result); 
    
    //Errechnen wieviele Seiten es geben wird 
    $wieviel_seiten = $menge / $eintraege_pro_seite; 
    
    //Ausgabe der Seitenlinks: 
    echo "<div align=\"center\">"; 
    echo "<b>Seite:</b> "; 
    
    
    //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 "  <b>$b</b> "; 
          } 
    
       //Aus dieser Seite ist der User nicht, also einen Link ausgeben 
       else 
          { 
          echo "  <a href=\"?seite=$b\">$b</a> "; 
          } 
    
    
       } 
    echo "</div>";


    wie man das mit der ersten und der letzten Seite hinbekommt weiß ich ja noch, aber ich weiß nicht, wie man es hinbekommt, dass nur maximal 5 oder 10 Seiten oder sowas angezeigt werden, und dass det dann immer weiterspringt... also so:

    << < 1|2|3|4|5|6 > >>

    << < 2|3|4|5|6|7 > >>

    << < 3|4|5|6|7|8 > >>

    und so weiter... kann mir da jemand meine Blätterfunktion so umändern?
    und bitte sagt nicht, ich solle doch googeln... hab ich schon unddas nen ganzen lieben langen Tag lang, aber die machen das so extrem kompliziert, dass ich da nimmer durchblicke, weil ich ja noch PHP Anfänger bin...

    Wäre echt super nett von euch...
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich will mal den Code posten, damit die anderen auch was davon haben (Damit keine dummen Fragen kommen. Ich habe ihm über ICQ geholfen):
    $result = mysql_query("SELECT COUNT(*) AS anz FROM uploadbilder"); 
    $row = mysql_fetch_object($result); 
    $menge=$row->anz;
    $seiten_limit=9; //Anzahl der Seitenzahlen, die da stehen sollen
    //Errechnen wieviele Seiten es geben wird 
    $wieviel_seiten = ceil($menge / $eintraege_pro_seite);
    
    //Ausgabe der Seitenlinks: 
    echo "<div align=\"center\">"; 
    echo "<b>Seiten: ($wieviel_seiten)</b> "; 
    
      if($seite>1)
      {
      $prev=$seite-1;
      echo "<a href=\"".$_SERVER['PHP_SELF']."?seite=1\">&lt;&lt;</a>&nbsp;<a href=\"".$_SERVER['PHP_SELF']."?seite=".$prev."\">&lt;</a>";
      }
      if($seite+$seiten_limit-1<$wieviel_seiten)
       {
       $count = $seite;
       $ende = $seite+$seiten_limit-1;
       }
      elseif($seite+$seiten_limit-1>=$wieviel_seiten && $seiten_limit<=$wieviel_seiten)
       {
       $count = $wieviel_seiten-$seiten_limit+1;
       $ende = $wieviel_seiten;
       }
      elseif($seiten_limit>$wieviel_seiten)
       {
       $count = 1;
       $ende = $wieviel_seiten;
       }
      while($count <= $ende)
      {
      if($count != $seite)
      {
      echo "&nbsp;<a href=\"".$_SERVER['PHP_SELF']."?seite=".$count."\">".$count."</a>";
      }
      else
      {
      echo "&nbsp;<b>".$count."</b>";
      }
      $count++;
      }
      if($seite<$wieviel_seiten)
      {
      $next=$seite+1;
      echo "&nbsp;<a href=\"".$_SERVER['PHP_SELF']."?seite=".$next."\">&gt;</a>&nbsp;<a href=\"".$_SERVER['PHP_SELF']."?seite=".$wieviel_seiten."\">&gt;&gt;</a>";
      }   
    echo "</div>";


    Wenns Fragen zum Code gibt, schreibt ne PN an mich.

    Beitrag geändert: 1.11.2006 15:30:46 von hugo1990
  4. lordoflima

    Admin Kostenloser Webspace von lordoflima

    lordoflima hat kostenlosen Webspace.

    wie bei lima?

    function show_pages($max,$page,$perpage,$url = '') {
      global $PHP_SELF;
      
      $target = ($url?$url:$PHP_SELF);
      if(!strpos($target,'?')) $target .= '?';
      
      $n = floor($max/$perpage);
      $p = array();
      
      if($page > 0) {
        $p[] = '<a href="'.$target.'">&laquo;</a>';
        $p[] = '<a href="'.$target.'&page='.($page-1).'">&lt;</a>';
      }
      
      if($n)  
        for($i=($page-5>=0?$page-5:0);$i<=($n>$page+5?$page+5:$n);$i++) {
          $p[] = ($page==$i?($i+1):'<a href="'.$target.'&page='.$i.'">'.($i+1).'</a>');
        }
      
      if($page < $n) {
        $p[] = '<a href="'.$target.'&page='.($page+1).'">&gt;</a>';
        $p[] = '<a href="'.$target.'&page='.$n.'">&raquo;</a>';
      }
      
      $p = join(', ',$p);
      $p = str_replace('?&','?',$p);
      
      return $p;
    }
  5. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    boah is ja geil ^^

    jetzt fühle ich mich aber geehrt. ^^ der Lord hat in einer meiner Themen was geschrieben.... das is echt mal cool. *g*

    Jedenfalls danke euch beiden, besonders Hugo, weil er mir direkt geholfen hat, echt klasse... danke ^^
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!