Blätterfunktion ergänzen/ändern

PHP - alles Rund um die Programmierung von PHP und MySQL

Ist die geniale Programmiersprache, da sowohl für Einsteiger geeignet wie auch für Profis.

Moderator: lauras

Beiträge bitte im neuen Forum

Blätterfunktion ergänzen/ändern

Beitragvon rernanded » Mittwoch 7. Dezember 2011, 16:38

Hi,
die Blätterfunktion wie ich sie habe(s.u.) zeigt mir immer alle Datensätze an. Setze ich ORDER BY id ASC ein alle Datensätze aufsteigend von id=1 bis id=x, setze ich ORDER bY id DESC ein alle Datensätze absteigend von id=x bis id=1. Und das jeweils 10 pro Seite. Soweit alles korrekt. x ist übrigens der letzte Datensatz und variabel da die Zahl der Datensätze weiter steigt.

Ich will nun das nur die aktuellsten Datensätze ab id=x-301 angezeigt werden (also nicht die topaktuellsten 300 weil die mit einem anderen Script angezeigt werden) und ich will auf der ersten Seite oben den Datensatz id=x-301 stehen haben. Den zweiten id=x-302 darunter, darunter id=x-303 usw.
Und ich will das insgesamt nur 1000 Datensätze angezeigt werden. Bei 10 Einträgen pro Seite ergäbe das also 70 Seiten, dh alle Datensätze zwischen id=x-301 und id=x-1000.

Wie und wo baue ich das ein?

Moni

Code: Alles auswählen
<?php
     
    $host = "";
    $user = "";
    $pass = "";
    $dbase = "";

    $connection = mysql_connect("$host" , "$user" , "$pass")
                  OR die ("Keine Verbindung zur Datenbank möglich.");
    $db = mysql_select_db($dbase , $connection)
                  OR die ("Auswahl der Datenbank nicht möglich.");
         
    $pfad = $_SERVER['PHP_SELF'];
     
    $query = mysql_query("SELECT id FROM news");
             
    $datensaetze_pro_seite = "10";
    $p = "5";                                // SEITENLINKS
     
    $total = mysql_num_rows($query);
    $seiten = ceil($total / $datensaetze_pro_seite);
         
    if(empty($_GET['go'])){
     
        $go = 1;
     
    }elseif($_GET['go'] <= 0 || $_GET['go'] > $seiten){
     
        $go = 1;

    }else{
     
        $go = mysql_real_escape_string($_GET['go']);
    }
     
    $links = array();
     
    if(($go - $p) < 1){ $davor = $go - 1;  }else { $davor = $p; }           
     
    if(($go + $p) > $seiten){ $danach = $seiten - $go; }else{ $danach = $p; } 
           
    $off = ($go - $davor); 
                     
    if ($go- $davor > 1){     
        $first = 1;
        //$links[] = "<a href=\"$pfad?go=$first\" title=\"zur ersten Seite\"> || </a>\n";     
    }     
     
    if($go != 1){         
        $prev = $go-1;
        //$links[] = "<a href=\"$pfad?go=$prev\" title=\"eine Seite zurück\"> < </a>\n";   
    } 
           
           
    for($i = $off; $i <= ($go + $danach); $i++){
     
      if ($i != $go){         
       
            $links[] = "<a href=\"$pfad?go=$i\">$i</a>\n";
             
      }elseif($i == $seiten) {         
         
            $links[] = "<span class=\"current\">[ $i ]</span>\n";
             
      }elseif($i == $go){         
       
            $links[] = "<span class=\"current\">[ $i ]</span>\n";
             
      } // close if $i     
    }               
     
    if($go != $seiten){     
        $next = $go+1;
        //$links[] = "<a href=\"$pfad?go=$next\" title=\"eine Seite weiter\"> > </a>\n";
    }     
         
    if($seiten - $go - $p > 0 ){ 
        $last = $seiten;
        //$links[] = "<a href=\"$pfad?go=$last\" title=\"zur letzten Seite\"> || </a>\n";
    }     
     
    $start = ($go-1) * $datensaetze_pro_seite;
     
     
    $link_string = implode(" ", $links);
     
    $abfrage = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT $start,$datensaetze_pro_seite");

    while($row = mysql_fetch_object($abfrage)){
         
    echo "<big>$row->headline</big><br>[$row->monat_jahr . $row->id]<br>";
    echo nl2br(substr ($row->text,0,100)), " ...";
    echo "<br>$row->link<br><br>";
     
    }
     
    // Seitennavigation
         
     echo "Seite ".$go." von ".$seiten."<br>";
     
     echo $link_string;
         
     
    ?>
rernanded
HTML-Newbie
 
Beiträge: 44
Registriert: Montag 10. Oktober 2011, 14:34

Beiträge bitte im neuen Forum

Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron