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
<?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;
?>
Alles anzeigen