Hallo an alle,
mit Hilfe von vielen Postings hier, habe ich es geschafft eine Blätterfunktion in mein Forum einzubauen. Nun werden die Links auch angezeigt, nur wenn es zu viele sind sprengt es meine Seite. Daher möchte ich (wie hier im Forum) nur die nächsten 4 Links anzeigen und danach...
Leider habe ich zur Zeit keine Idee wie ich das bewerkstelligen kann. Vielleicht kann mir jemand einen Gedankenanstoß geben. Danke vorab und hier mein Code:
P.S. Sorry, bitte nicht böse sein, ich fürchte der Code wird nicht sehr übersichtlich angezeigt, aber ich weiss leider nicht, wie man es besser machen kann :-(
mit Hilfe von vielen Postings hier, habe ich es geschafft eine Blätterfunktion in mein Forum einzubauen. Nun werden die Links auch angezeigt, nur wenn es zu viele sind sprengt es meine Seite. Daher möchte ich (wie hier im Forum) nur die nächsten 4 Links anzeigen und danach...
Leider habe ich zur Zeit keine Idee wie ich das bewerkstelligen kann. Vielleicht kann mir jemand einen Gedankenanstoß geben. Danke vorab und hier mein Code:
PHP-Code:
<?php
$ZeilenProSeite=20;
if(!isset($Anfangsposition)){$Anfangsposition=0;}
$result=@mysql_query("SELECT ID, PID, TID, DATE_FORMAT(Zeitpunkt,'%T') AS Uhrzeit,
DATE_FORMAT(Zeitpunkt,'%e. %m. %Y') AS Datum, AutorName, Betreff FROM forum WHERE Board=$themaID ORDER BY Zeitpunkt DESC limit $Anfangsposition,$ZeilenProSeite");
$result1=@mysql_query("SELECT ID FROM forum WHERE Board=$themaID ");
if(!$result) die("<h2>Die Datenbank konnte nicht abgefragt werden.</h2>");
$Anzahl=mysql_num_rows($result1);
später dann:
<?php if($Anfangsposition > 0) {?>
<a class='seite' href='forum.php?Anfangsposition=0&themaID=<?php echo $themaID;?><?php if($pass=='ja'){?>&pass=<?php echo $pass;}?>&Thema=<?php echo $Thema; ?>'>erste Seite </a>  <?php ;
$back=$Anfangsposition-$ZeilenProSeite;
if($back < 0) {
$back = 0;
}?>
<a class='seite' href='forum.php?Anfangsposition=<?php echo $back; ?>&themaID=<?php echo $themaID; ?><?php if($pass=='ja'){?>&pass=<?php echo $pass;} ?>&Thema=<?php echo $Thema; ?>'> zurück</a> <?php
}
if($Anzahl>$ZeilenProSeite) {
echo" <span class='forum'>Seite</span> ";
$Seiten=intval($Anzahl/$ZeilenProSeite);
if($Anzahl%$ZeilenProSeite) {
$Seiten++;
}
}
for ($i=1;$i<=$Seiten;$i++) {
$fwd=($i-1)*$ZeilenProSeite;?>
<?php //aktuelle Seite hervorheben
if($Anfangsposition/$ZeilenProSeite+1==$i){?>
<a class='aktiv' href="forum.php?Anfangsposition=<?php echo $fwd; ?>&themaID=<?php echo $themaID; ?><?php if($pass=='ja'){?>&pass=<?php echo $pass;} ?>&Thema=<?php echo $Thema; ?>"><?php echo $i; ?></a> <?php }else{?>
<a class='seite' href="forum.php?Anfangsposition=<?php echo $fwd; ?>&themaID=<?php echo $themaID; ?><?php if($pass=='ja'){?>&pass=<?php echo $pass;} ?>&Thema=<?php echo $Thema; ?>"><?php echo $i; ?></a> <?php }
}
if($Anfangsposition < ($Anzahl-$ZeilenProSeite)) {
$fwd=$Anfangsposition+$ZeilenProSeite;?>
<a class='seite' href="forum.php?Anfangsposition=<?php echo $fwd; ?>&themaID=<?php echo $themaID; ?><?php if($pass=='ja'){?>&pass=<?php echo $pass;} ?>&Thema=<?php echo $Thema; ?>">vor</a>
<?php $fwd=$Anzahl-$ZeilenProSeite;?>
<a class='seite' href="forum.php?Anfangsposition=<?php echo $fwd; ?>&themaID=<?php echo $themaID; ?><?php if($pass=='ja'){?>&pass=<?php echo $pass;} ?>&Thema=<?php echo $Thema; ?>">letzte Seite</a><?php
}?>
P.S. Sorry, bitte nicht böse sein, ich fürchte der Code wird nicht sehr übersichtlich angezeigt, aber ich weiss leider nicht, wie man es besser machen kann :-(
EDIT:
php-tags eingefügt
Abraxax
Kommentar