Willkommen in der Webstatt Zum Webstatt Blog und Stories
Claw Claw am 03.03.06 14:56

Viel Spaß damit!

<?php
// Copyright (C) 2006 Christof 'Claw' Wechselberger
if (!@function_exists("generate_sites")) {
function generate_sites($table,$end=1,$url,$tag) {

$arrData = array();

$arrData["sql"] = mysql_query('SELECT count(*) AS count FROM '.$table);
$arrData["anz"] = mysql_result($arrData["sql"], 0, 'count');
mysql_free_result($arrData["sql"]);

$arrData["ges"] = floor(ceil($arrData["anz"])/$end);
$arrData["start"] = !isset($_GET[$tag]) ? $arrData["start"] = 0 : $_GET[$tag]*$end;
$arrData["nStart"] = !isset($_GET[$tag]) ? $arrData["start"] = 0 : $_GET[$tag];
$arrData["link"] = '';

$arrData["ges"] += 1;
if($arrData["nStart"]>=($arrData["ges"])) {
echo ('Seite existiert nicht!');
}

$page["start"] = $arrData["start"];
$page["end"] = $end;

if ($arrData["ges"]==1) { return $page; } else {

$arrData["link"] .= ($arrData["nStart"]==0 ? '' : $url.'&amp;'.$tag.'='.($arrData["nStart"]-1).'">&laquo; Zur&uuml;ck</a> ');
if($arrData["ges"]>7) {
$ret = array();
for($i=1;$i<=$arrData["ges"];$i++) {
if (($i*$end-$end)!=$arrData["anz"]) {
$ret[] = (($i-1)!=$arrData["nStart"] ? $url.'&amp;'.$tag.'='.($i-1).'">['.$i.']</a> ' : $i.' ');
}
}

if($arrData["nStart"]<5 && $arrData["nStart"]>1) {
for($j=0;$j<2+$arrData["nStart"];$j++) {
$arrData["link"] .= $ret[$j];
}
} else {
for($j=0;$j<3;$j++) {
$arrData["link"] .= $ret[$j];
}
}
$arrData["link"] .= ($arrData["nStart"]<=($arrData["ges"]-5) ? ($arrData["nStart"]>=5 ? ' ... '.$ret[$arrData["nStart"]-1].$ret[$arrData["nStart"]].(isset($ret[$arrData["nStart"]+1]) ? $ret[$arrData["nStart"]+1] : '') : '') : '');
$arrData["link"] .= ' ... '.($arrData["nStart"]==$arrData["ges"]-4 ? $ret[$arrData["ges"]-4] : '').$ret[$arrData["ges"]-3].$ret[$arrData["ges"]-2].$ret[$arrData["ges"]-1];
} else {

for($i=1;$i<=$arrData["ges"];$i++) {
if (($i*$end-$end)!=$arrData["anz"]) {
$arrData["link"] .= (($i-1)!=$arrData["nStart"] ? $url.'&amp;'.$tag.'='.($i-1).'">['.$i.']</a> ' : $url.'&amp;'.$tag.'='.($i-1).'">['.$i.']</a> ' );
}
}
}
$arrData["link"] .= ($arrData["nStart"]==($arrData["ges"]-1) ? '' : ' '.$url.'&amp;'.$tag.'='.($arrData["nStart"]+1).'">Forw&auml;rts &raquo;</a>');


return $arrData;

}

// EOF
} }

// AB HIER KANN MAN WEGSCHNEIDEN

/*
WIE MAN DIESES SKRIPT BENUTZT:
----------------------------------------------
$table = 'forum_posts'; // Die Tabelle von wo wir die Anzahl der Datensätze herholen WICHTIG: Wenn ein "WHERE" erforderlich ist, einfach hinten dranhängen!
$end = "20"; // Die Maximale Anzahl an Ausgaben pro Site
$url = '<a href="./'.basename($_SERVER['PHP_SELF']).'?thread_id=1'; // Der URL zu der Seite! WICHTIG: Die Seitenangabe wird mit "&" angehängt d.h. der Link müsste so aussehen: <a href=\"www.jex-treme.de/forum_posts.php?thread_id=123
$tag = "seite"; // Der TAG der dann am URL hinten drangehängt wird

// Da wir jetzt alles haben können wir es aufbauen:

$seiten = generate_sites($table,$end,$url,$tag);
// Die Daten von der Funktion bekommt man wie folgt:
echo $seiten["start"]."<br />";
echo $seiten["end"]."<br /><nr />";
echo $seiten["link"];
// Man muss es halt nur noch gerecht anpassen ;-)
----------------------------------------------
*/
?>

netcup.de Warum gibt es hier Werbung?
Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt