PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seiten umblättern funktion erweiteren


saidbuchari
05.07.2009, 16:20:48
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?

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, 18:14:09
[...]
für Denkanstösse wäre ich sehr dankbar.

Liebe Grüsse
Said

Dynamische Seitennavigation – Seite 1 von n (http://www.selfphp.de/kochbuch/kochbuch.php?code=32)

saidbuchari
05.07.2009, 21:40:18
mh danke schön guck ich mir gleich mal an.

Liebe Grüsse Said

elkmod
06.07.2009, 12:42:55
Ich habe für meine eigene Seite mal folgendes gebastelt und es funktioniert gut:

// 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;

}


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
}

}

}