Seite 1 von 1

Forumsbeiträge aus Datenbank auslesen

Verfasst: 28.10.2011 16:24
von hmmder3
Hallo

Hoffe ich bin hier richtig.

Ich arbeite schon etwas länger mit phpbb, komme jetzt allerdings nicht weiter.

Ich habe auf meiner Seite eine Homeseite eingefügt. Auf dieser werden aus einem bestimmten Forum (Newssystem) die Beträge ausgelesen und dargestellt.
Das funktioniert über folgende SQL-Abfrage:

Code: Alles auswählen

	$sql =
		'SELECT
			post_id,
			topic_id,
			poster_id,
			post_time,
			post_subject,
			post_text,
			forum_id,
			bbcode_uid,
			bbcode_bitfield,
			user_id,
			username
		FROM
			'.$table_prefix.'posts,
			'.$table_prefix.'users
		WHERE
			forum_id = 21 AND poster_id = user_id OR forum_id = 23 AND poster_id = user_id OR forum_id = 24 AND poster_id = user_id
		ORDER BY
			post_id DESC LIMIT 8';
Funktioniert soweit auch. Allerdings werden alle Beiträge aus den Topics ausgelesen, also auch die antworten auf die Beiträge.
Da ich nun vor hatte auch eine Kommentarfunkton auf die Hauptseite zu bauen und diese Komentare direkt in das Forum gepostet werden sollen (Direkt als Antwort auf den Beitrag)
muss ich nun die SQL Abfrage bearbeiten, so das nur noch der erste Beitrag aus jedem Topic als News ausgelesen wird.

Da sind aber meine Latein und Google Sucherreinen gescheitert.

Würde mich auf eine Antwort freuen

MfG hmmder3.

Re: Forumsbeiträge aus Datenbank auslesen

Verfasst: 28.10.2011 16:51
von Balint
Hallo,

wenn ich das richtig sehe, müsstest du noch die topics-Tabelle in deine Abfrage einfügen und auf phpbb_posts.post_id = phpbb_topics.topic_first_post_id prüfen.


Viele Grüße,
Bálint

Re: Forumsbeiträge aus Datenbank auslesen

Verfasst: 28.10.2011 17:58
von hmmder3
Vielen Dankt

das war der Wink den ich gebraucht habe.

So schauts jetzt aus, und funktioniert auch:

Code: Alles auswählen

	$sql =
		'SELECT
			p.post_id,
			p.topic_id,
			p.poster_id,
			p.post_time,
			p.post_subject,
			p.post_text,
			p.forum_id,
			p.bbcode_uid,
			p.bbcode_bitfield,
			u.user_id,
			u.username,
			t.topic_first_post_id
		FROM
			'.$table_prefix.'posts p,
			'.$table_prefix.'topics t,
			'.$table_prefix.'users u
		WHERE
			p.forum_id = 21 AND p.poster_id = u.user_id AND p.post_id = t.topic_first_post_id OR p.forum_id = 23 AND p.poster_id = u.user_id AND p.post_id = t.topic_first_post_id OR p.forum_id = 24 AND p.poster_id = u.user_id AND p.post_id = t.topic_first_post_id
		ORDER BY
			post_id DESC LIMIT 8';
MfG hmmder3.