Tom: Wie Datensätze wie in einem Forum formatieren?

Beitrag lesen

Hello,

Schau dir doch mal an, wie die Beiträge in diesem Forum aufgerufen werden.

So?

http://forum.de.selfhtml.org/cgi-bin/user/fo_vote?t=171607&m=1123578&a=good
                                                          ^^        ^^
Da ist eine Tücke dabei :)
mfg Beat

Wisst ihr vielleicht, wie das gemacht wird? Ich bekomm so eine URL nur mit Formular und GET hin !?

Wie meisnt Du das jetzt?
Hast Du denn ein aktives Backend, dass die Liste erzeugt?
Schau Dir mal die Listenlösung an, die hier neulich in gemeinschaftlicher Arbeit entstanden ist:
http://selfhtml.bitworks.de/forum/get_thread_titles_04.php

Die Funktion generiert eine Liste aus einer CSV-Datei.

Satzaufbau:

$_thread = array();          ## Satzbeschreibung für Thread
$_thread['nr']    = 0;       ## Laufende Nummer
$_thread['plane'] = 0;       ## Einrückungsebene
$_thread['mark']  = 0;       ## Markierer für Deleted, no access, read only
$_thread['time']  = 0;       ## Timestamp des Postings
$_thread['title'] = '';      ## Subject des Threads
$_thread['author']= '';      ## Author
$_thread['body']  = '';      ## Textnachricht

Diese Funktion (und die Datei) müsstest Du nun erweitern, um einen Beitrag ansehen zu können.

Dass die Einträge hier nach Nummer sauber sortiert stehen, ist nur am Anfang so. Später würden die neuen einfach dazwichen gesetzt werden.

Um einen zu lesen, müsstest Du also in der Funktion einen Link generieren lassen, der dem "angeposteten Script" mitteilt, was Du willst:

  • Beitrag Nr XY ansehen
  • Einen Eigenen Beitrag zum Stammbeitrag des Threads hinzufügen
  • Im Thread des gerade gelesenen Beitrages auf gleicher Ebene fortfahren
  • Eine Antwort auf den gerade geholten Beitrag schreiben (einrücken).

usw.

Das musst Du aber in die Ausgabefunktion für die Liste einbauen.
Der erste Schritt wäre sicherlich: "einen Beitrag aus der Liste auswählen und anzeigen"

Dazu müsstet Du die Zeile

$htmltext = htmlspecialchars($_row[0].'-'.$_row[1].' ==> '.$_row[3].' '.$_row[4], ENT_QUOTES);

umbauen.

$htmltext = "<a href="{$_SERVER['SCRIPT_NAME']}?t={$_row[0]}">$htmltext</a>";

Ich habe das alles mal eingebaut in die nächste Stufe des Scriptes.

http://selfhtml.bitworks.de/forum/get_thread_titles_05.php

Das Generator-File zur Erzeugung einer Dummy-Daten-Datei kannst Du Dir unter

http://selfhtml.bitworks.de/forum/fill_thread_file.php.txt

ebenfalls herunterladen.

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de