tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
387
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Oct 2005
    Ort
    Nottuln
    Beiträge
    1.282
    Hey,

    ich habe wieder mal Probleme miter Blätterfunktion, wusste jedoch nicht, ob ich das alte Thema weiterbenutzen sollte, also hab ichn neues gemacht :P

    Also. Ich will folgende Darstellung bewirken:
    Die Seite, auf der man sich befindet, soll hervorgehoben werden. Like so:
    1 - 2 - 3 - 4

    Das habe ich schon mit if probiert und so, geht aber nicht wirklich

    Dann will ich folgende Darstellung haben, damit es nicht so unübersichtlich bei vielen Seiten wird:
    .. 1 - 2 - 3 ..
    Das halt immer nur ein paar seiten gezeigt werden.


    Wie programmiert man das?
    David
     

  2. #2
    Avatar von flou
    flou flou ist offline Mitglied Silber
    Registriert seit
    Oct 2004
    Ort
    München
    Beiträge
    94
    das kommt drauf an wie du das bis jetz gelöst hast!
    am besten du postest mal deinen code...oder sag zumindest was über die struktur
    du brauchst hald ne variable die dir sagt wieviele seiten es insgesamt gibt
    und ne variable in der du festhälsts, welche seite dir gerade angezeigt wird

    wenn du dann die seitenzahlen (..1-2-3...) ausgeben willst könnte das so aussehen:
    PHP-Code:
    for($i 0$i $seiten_gesamt$i++){
      if((
    $aktuelle_seite 1) == $i){
         print 
    '...'.$i.'-';
      } else if(
    $aktuelle_seite == $i){
         print 
    $i.'-';
      } else if((
    $aktuelle_seite 1) == $i) {
        print 
    $i.'...';
      }


    p.S.: hab den code natürlich nicht getestet!
     

  3. #3
    Avatar von cameeel
    cameeel cameeel ist offline Mitglied Platin
    Registriert seit
    Dec 2004
    Beiträge
    677
    Also das mit dem Hervorheben ist einfach.
    Ich gehe mal davon aus, dass wir eine test.php Datei haben, welche jeweils in der Form "test.php?page=1" aufgerufen wird.

    PHP-Code:
    <?php
    for ($i=1;$i<=$limit;$i++) {
      if (
    $_GET['page'] == $i) {
        echo 
    "<strong>".$i."</strong>&nbsp;";
      }else{
        echo 
    $i."&nbsp;";
      }
    }
    ?>
    Dein zweiter Punkt ist nicht so einfach zu realisieren... hab da aber mal ein Script geschrieben. Wenn ichs find poste ich es noch.

    Gruß,
    cAm3eel.
     
    Nein, ich bin nicht die Signatur, ich putz hier nur.

    URL's kürzen | Code's speichern

  4. #4
    Registriert seit
    Oct 2005
    Ort
    Nottuln
    Beiträge
    1.282
    Hey,

    danke schonmal für die Antworten.

    Das hier ist mein Code
    PHP-Code:
    <div class="ptitel">News</div>
    <?php
        $sql                     
    "SELECT * FROM news";                       //Anstatt 'Tabelle' natürlich die betreffende Tabelle auswählen
        
    $eintrage         mysql_num_rows(mysql_query($sql));           //Die Einträge der Tabelle herausholen
        
    $maxproseite     5;                                            //Statt der 5 die maximale Anzahl der Einträe pro Seite angeben
        
    $seiten             $eintrage $maxproseite;                 //Anzahl der Seiten errechnen
        
        
    if ($eintrage == "")
            {
                
    //wenn keine einträge da sind, fehler-meldung
                
    echo "<div class=\"fehler\">Es sind keine News eingetragen worden</div>";
            }
        else
            { 
    //sonst die ganz normale abfrage
        
        
    if (!isset($_GET['page'])) 
            {                     
    //normalabfrage, wenn keine Seite gegeben ist.
            
    $sql                 "SELECT * FROM news ORDER BY id DESC LIMIT 0,".$maxproseite.";";  
            } 
        else 
            {                                         
    //Abfrage, wenn eine Seitenzahl gegeben ist.
            
    $abeintrag     $_GET['page'] * $maxproseite $maxproseite;
            
    $sql                 "SELECT * FROM news ORDER BY id DESC LIMIT ".$abeintrag.",".$maxproseite.";";
            }
        
    $news mysql_query($sql);
        
        function 
    newsblaetter($eintrage$maxproseite$seiten//die funktion für das blättern
            
    {
                
    //seiten errechnen:
                
    $last $_GET['page']-1;
                
                if (!isset(
    $_GET['page']))
                    {
                        
    $next 2;
                    }
                else
                    {
                        
    $next    $_GET['page']+1;
                    }
                
    $lastp round($seiten);
                
                echo 
    "<div align=\"center\">";
                
                
    //verlinkung zur vorigen seite
                
    if ((!isset($_GET['page'])) OR ($_GET['page'] == 1))
                    {
                        echo 
    ""//wenn man auf der 1. ist, gibt es kein zurück^^
                    
    }
                else
                    {
                        
    //andererseites zurück
                        
    echo "<a href=\"?section=index&page=$last\"><<</a> &middot; ";
                    }
                
                    
    //hier alle seiten ausgeben
                    
    for($i 1$i $seiten$i++)
                        {              
    //Ausgabe der Linkliste
                            
    if ($lastp == 0)
                                {
                                echo 
    "<a href=\"?section=index&page=".$i."\">".$i."</a>";
                            }
                        else
                            {
                                echo 
    "<a href=\"?section=index&page=".$i."\">".$i."</a> &middot; ";
                            }
                        }
                        
                
    //die verlinkung >> (für die nächste seite
                
    if ($_GET['page'] == $lastp)
                    {
                        echo 
    ""//falls man auf der letzten seite ist, keine verlinkung
                    
    }
                else
                    {
                        echo 
    "<a href=\"?section=index&page=$next\">>></a>"//wenn man auf einer anderen ist, kann man auf weiterklicken
                    
    }
                echo 
    "</div>";
            }    
            
        
    newsblaetter($eintrage$maxproseite$seiten); //ausgeben der seiten
        
    echo "<p />";
        
        
        
    $z 0;
        while (
    $n mysql_fetch_array($news))
            {
                
    //user auslesen
                
    $user mysql_query("SELECT * FROM user WHERE `id`=".$n['aid']."");
                
    $u        mysql_fetch_array($user);
                                        
                if (
    $z%== 0//die unterschiedlichen zeilenfarben ermitteln
                    
    {
                        echo 
    "<div class=\"eintrag1\">";
                    }
                else
                    {
                        echo 
    "<div class=\"eintrag2\">";
                    }
                        echo 
    "<b>".$n['titel']."</b>";
                        echo 
    "<br />";
                        echo 
    "".nl2br($n['news'])."";
                        echo 
    "<br />";
                        echo 
    "<div align=\"right\">Verfasst von ".$u['nickname']." / ".$n['erstellt']."</div>";
                        echo 
    "<p />";
                        echo 
    "</div>";
                        
    $z++;
            }
            
        echo 
    "<p />";
        
        
    newsblaetter($eintrage$maxproseite$seiten); //ausgeben der seiten
        
    echo "<p />";

        } 
    //prüfung der einträge beenden
    ?>
     

  5. #5
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Gerade frisch aus der Presse: mein Blätterfunktion-Tutorial.
     
    Markus Wulftange

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 20.06.10, 02:02
  2. Gerade besuchte Seite hervorheben
    Von AnjaR im Forum CSS
    Antworten: 4
    Letzter Beitrag: 16.06.10, 11:13
  3. Aktuelle Seite farblich hervorheben?
    Von mareikiii im Forum PHP
    Antworten: 1
    Letzter Beitrag: 23.10.08, 18:05
  4. Aktuelle Seite hervorheben
    Von xollo im Forum PHP
    Antworten: 3
    Letzter Beitrag: 24.07.07, 07:33
  5. Wärend des hochladens Seite zeigen
    Von StefanR im Forum PHP
    Antworten: 5
    Letzter Beitrag: 21.12.04, 18:15