• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Eigenes Forum - Post anpeilen und Seite ermitteln

D

DiVaO

Guest
Ich bin gerade dabei ein eigenes Forum zu erstellen und hänge an einer Stelle, die ich weder mit Logik noch mit Ausprobieren meistere.. ich hoffe ich kann es verständlich erklären.

Ich möchte in der Übersicht über die Themen eines bestimmten Bereichs einen Link einbauen, mit dem man automatisch auf den letzten Post des jewieligen Themas kommt. Also praktisch das da:

unbenanntkdjo.png


Standart in jedem Forum, aber scheinbar sehr schwer umzusetzen.

Jeder Post in einem Thema hat einen Anker mit seiner jeweiligen ID. Ein Thema sieht z.b. so aus:

HTML:
Seite 1

<div id="3"> post #3 </div>
<div id="8"> post #8 </div>
<div id="10"> post #10 </div>
<div id="18"> post #18 </div>
<div id="19"> post #19 </div>

Seite 2

<div id="23"> post #23 </div>
<div id="26"> post #26 </div>
<div id="35"> post #35 </div>
<div id="39"> post #39 </div>

Die Post ID ist vom Thema unabhängig und wird in der Tabelle 'posts' fortlaufend weitergeführt (A_I)
Die jeweilige Seite des Themas wird bestimmt mit $_GET['page'].

Nun kann ich z.B. einen Post anpeilen mit einem solchen Link:

HTML:
<a href="?topic&id=X#8"> post #8 </a>

Funktioniert natürlich, allerdings nur, wenn der angepeilte post auch auf der ersten Seite ist! Befindet sich der Post auf der zweiten Seite funktioniert der Link nichtmehr, da er, wenn $_GET['page'] nicht vorhanden ist Seite 1 auswählt. Nun brauche ich aber einen dynamischen Link passend zum jeweiligen Thema. Der Link, um den Post #35 anzupeilen müsste also so aussehen:

HTML:
<a href="?topic&id=X&page=2#35"> post #35 </a>

Deshalb meine Frage: Wie finde ich heraus auf welcher Seite sich der anzupeilende, letzte Post befindet? Die Post ID hilft mir da nicht weiter, da sie unabhängig vom Thema ist.

Folgende spalten können abgefragt werden:

'post_id', 'post_topic' aus 'posts'
'topic_id', 'last_id' (id des letzten posts) aus 'topics'

Das Limit für Posts pro Seite ist 20. Auf Seite 2 eines Themas werden also der 21 - 40. Post angezeigt usw.
Falls ihr weitere Infos benötigt, fragen ;) brauche da echt Hilfe..

Danke
 

Anhänge

  • unbenanntkdjo.jpg
    unbenanntkdjo.jpg
    7,4 KB · Aufrufe: 5
Zuletzt bearbeitet von einem Moderator:
Moin Moin

Ermittle doch bei der Themenauflistung gleich mit, wieviele Seiten ein Thema hat. Dann kombiniere die Anzahl der Seiten mit der ID des Postings und du hast deinen Sprunglink, denn der letzte Post wird mit ziemlicher Sicherheit immer auf der letzten Seite eines Themas sein. ;)

Ich hoffe ich konnte dir helfen.

Grüße

NewLord
 
Du kannst vermutlich ermitteln, wie viele Beiträge insgesamt in einem Thread stehen, oder?

Die Seite des letzten Beitrags ist dann:

PHP:
$page = (int) ceil($threadPostCount / $postsPerPage);

Edit: Zu langsam. ;)
 
Moin Moin

Ermittle doch bei der Themenauflistung gleich mit, wieviele Seiten ein Thema hat. Dann kombiniere die Anzahl der Seiten mit der ID des Postings und du hast deinen Sprunglink, denn der letzte Post wird mit ziemlicher Sicherheit immer auf der letzten Seite eines Themas sein. ;)

Ich hoffe ich konnte dir helfen.

Grüße

NewLord

Ach gott, wieso bin ich da nicht drauf gekommen -.-

Daran hab ich echt nicht gedacht.. vielen dank für den Denkanstoß :)

So geht das dann natürlich :)
 
Zurück
Oben