Maximal 20 Links pro Seite

multimolti

Erfahrenes Mitglied
Moin.

Ich bin gerade dabei mir ein Forum zu basteln (Link).
Wenn man da jetzt auf eine Rubrik klickt, werden alle Threads aus dieser Rubrik angezeigt. Wie kann ich machen, das z.B. nur 20 Threads pro Seite angezeigt werden, und wenn mehr da sind, es Seite 2, 3, 4,... gibt?
Sortiert werden die schon, immer die neusten nach oben.

Schonmal danke für eure Antworten :D
 
also damit komme ich absolut nicht klar.
Habe mal versucht das zu verstehen, aber 1. einiges geht nicht und 2. fehlt mir da noch die Anleitung, wie ich meinen Content dann auf Seite 1, Seite 2 usw verteile.
Zu 2.: das könnte doch so gehen:
PHP:
if ($_GET['page'] == 1)
{
echo $content[1];
echo $content[2];
echo ...;
}
aber das ist erst mal nicht mein Problem. Ich habe es mal mit der Funktion da versucht, und die gibt folgendes aus:
  • # Seite 18 von 12
  • # ? erste Seite
  • ? vorherige Seite
usw.
Also 1.: Seite 18 von 12 ?
Das ist passiert, als ich auf "letzte Seite" geklickt habe.
Und 2.: Egal auf welcher Seite ich bin, es steht immer nur dran Seite 1, Seite 2 und Seite 3.
Auch wenn ich auf Seite 23943894 wäre, würde immer noch nur Seite 1, Seite 2 und Seite 3 als Link da sein.
Ich hab versucht dadran rumzubasteln, aber ich bekomme es einfach nicht hin!
 
Also es gibt 2 Möglichkeiten das zu bewerkstelligen, entweder ich überbe per GET die Seite oder den Startwert des Beitrags. Als Hilfe zeigei ch dir mal die SQL-Abfrage für verschiedene Seiten:
PHP:
//SQL Abfrage der Posts in einem Thread könnte so aussehen für die 1.Seite mit 20 Beiträgen
$sql = "SELECT * FROM posts WHERE threadid = ".$threadid." LIMIT 0, 20";

//Für die 2. Seite sähe das so aus:
$sql = "SELECT * FROM posts WHERE threadid = ".$threadid." LIMIT 20, 20";

//Für Seite 3:
$sql = "SELECT * FROM posts WHERE threadid = ".$threadid." LIMIT 40, 20";
Ich denke den Rest schaffst du damit auch alleine :)


Gruß Radhad

PS: Eintrag im Manual von MySQL => http://dev.mysql.com/doc/refman/5.1/en/select.html
 
tja da gibt es leider ein Problem, und zwar das ich die Daten nicht aus einer SQL-Datenbank bekomme, sondern das im Ordner <Themenname> einfach Dateien sind, die ausgelesen werden, und deren Dateiname der Titel ist.
Ich habe aber schon eine Idee, wie das gehen könnte, ich versuche das einfach mal!
 
Du kannst ja ne for-Schleife verwenden beim Ordner-auslesen und das entsprechend mit einbauen. Oder du speicherst den PFad der Dateien in einer Tabelle und wendest es darauf an ;)
 
so, ich hab mir jetzt ein schönes eigenes Script geschrieben, das geht auch wunderbar ;-)
Also $content ist ein Array, in dem alles drin steht, was angezeigt werden soll, $prosseite ist die Anzahl der Links pro Seite, und $seite ist die Seitenzahl, die per URL übergeben wird.
Und jetzt mal mein Script in Kurzfassung:
PHP:
            if(!isset($_GET['page']))
            	{ $_GET['page'] = 1; }
            $seite = $_GET['page'];
            $seitevor = $_GET['page']+1;
            $seitezur = $_GET['page']-1;
            $zahlklein = $seite*$proseite-$proseite+1;
            $zahlgross = $seite*$proseite;
            $seitengesamt = ceil(count($content)/$proseite);

            if($seite > 0)
            	{
                while ($zahlklein <= $zahlgross)
                 {
                 echo $content[$zahlklein];
                 $zahlklein++;
                 }
                echo '<br>';
                if ($seite > 1)
                	{
                	echo '<a href="?site=overview&dir='.$_GET['dir'].'&page='.$seitezur.'">vorherige Seite</a> ';
                	}
                if ($seite < $seitengesamt)
                	{
                	echo '<a href="?site=overview&dir='.$_GET['dir'].'&page='.$seitevor.'">nächste Seite</a> ';
                	}
                
                }
            else {
            	echo 'ungültige Seitenzahl!';
            	}

geht wunderbar, wers testen will: hier
 
Als Anregung zu deiner Blätterfunktion: Es wäre Hilfreich zu sehen, auf welcher Seite man sich befindet und wie viele es gibt ;) Ansonsten isset recht performant :)
 
Zurück