5 Neueste Beitrage auf Index.htm(php) darstellen

:-) Danke :-) -> Dann natürlich im Archiv auch die anderen Jahrgänge saugen :-)

Habs probiert und auch nochmal in die PHPMyAdmin reingeschaut.
post_subject ist Teil der phpbb_posts_text Tabelle -> Nicht phpbb_posts

Wie macht man denn so eine Kreuzverknüpfung, also Abfrage -> post_subject of posts_id in posts_text

mfg chmee
 
Zuletzt bearbeitet:
Hm, dann hast du warscheinlich ne andere phpBB Version als ich. Bei mir ist das eine Tabelle. Folgende Query ist mal blind geschrieben, aber dürfte das erfüllen, was du brauchst:
SQL:
SELECT
	topic_id,
	post_id,
	phpbb_posts_text.post_subject 
FROM
	phpbb_posts
LEFT JOIN
	phpbb_posts_text
ON
	phpbb_posts_text.post_id = phpbb_posts.post_id
GROUP BY
	topic_id
ORDER BY
	post_id
DESC LIMIT 0,5
 
hmm, nee.. Error 1052 - Column 'post_id' in field list is ambiguous

Leider ist dieser Wust n bissel zu viel für nen "sehrselten"SQLer :-)

Nebenbei, mAu, Du hast die Seite nun gesehen, wie würde man denn die Abfrage
ändern um zB auf der Audioseite nur den Topic Audio zu durchsuchen ?

mfg chmee
 
So erstmal Frage Nummer, die Query sollte jetzt gehen
SQL:
SELECT
	phpbb_posts.topic_id,
	phpbb_posts.post_id,
	phpbb_posts_text.post_subject 
FROM
	phpbb_posts
LEFT JOIN
	phpbb_posts_text
ON
	phpbb_posts_text.post_id = phpbb_posts.post_id
GROUP BY
	phpbb_posts.topic_id
ORDER BY
	phpbb_posts.post_id
DESC LIMIT 0,5

Frage Nummer 2: Hm? Also der Titel des Topics ist 'Audio'? Besser natürlich, wenn du die Topicid hast, aber das sollte so funktionieren
SQL:
SELECT
	phpbb_posts.topic_id,
	phpbb_posts.post_id,
	phpbb_posts_text.post_subject 
FROM
	phpbb_posts
LEFT JOIN
	phpbb_posts_text
ON
	phpbb_posts_text.post_id = phpbb_posts.post_id
GROUP BY
	phpbb_posts.topic_id
ORDER BY
	phpbb_posts.post_id
WHERE
	phpbb_posts_text.post_subject  = 'Audio'
	# oder mit der ID: phpbb_posts.topic_id = DieID (dann aber das GROUP BY Statement rausnehmen)
DESC LIMIT 0,5
 
Zuletzt bearbeitet:
Zu 2. Natürlich suche ich dann die topic_id s raus.

zu1.
Leider zeigt er mir nur einen (den Neuesten :) ) Topic an. Er scheint jetzt
nicht mehr nach der posts_id zu sortieren. Davor war es ja in Ordnung.
Nach post_id sortieren und post_subject mit topic_id aus post_id holen.

mfg chmee

p.s.: Danke für Deine/Eure Hilfe
 
Also mit der oben genannten Query bekommst du die Topics angezeigt, sortiert nach dem letzten Beitrag der in ihnen gepostet wurde. Um die letzten Beiträge anzuzeigen nimmst du folgende
SQL:
SELECT
	phpbb_posts.topic_id,
	phpbb_posts.post_id,
	phpbb_posts_text.post_subject 
FROM
	phpbb_posts
LEFT JOIN
	phpbb_posts_text
ON
	phpbb_posts_text.post_id = phpbb_posts.post_id
ORDER BY
	phpbb_posts.post_id DESC
LIMIT 0,5

Nachtrag
Die Query mit GROUP BY funktioniert nicht wie gewünscht. Denn es wird jeweils nur der erste Beitrag eines Themas zum sortieren genommen. Ich schau mich mal nach einer Lösung um.

Nachtrag 2
Diese Query funktioniert jetzt. Sie liest die Topics aus, sortiert nach der Uhrzeit des letzten Posts.
SQL:
SELECT
	phpbb_posts.topic_id,
	MAX(phpbb_posts.post_id),
	MAX(phpbb_posts.post_time) AS p_time,
	phpbb_posts_text.post_subject
FROM
	phpbb_posts
LEFT JOIN
	phpbb_posts_text
ON
	phpbb_posts_text.post_id = phpbb_posts.post_id
GROUP BY
	phpbb_posts.topic_id
ORDER BY
	p_time DESC
LIMIT 0,5
 
Zuletzt bearbeitet:
Mensch, kann ich ja abhaken :-) Läuft doch schon längst.

Wir haben ja dann per PM weitergemacht..

Also
Code:
SELECT    
   MAX(phpbb_topics.topic_last_post_id) 
   AS  last_post_id,    
         phpbb_topics.topic_title,    
         phpbb_posts.topic_id,
         phpbb_posts.post_id,    
         phpbb_posts.post_time,    
         phpbb_posts_text.post_text 
   FROM
         phpbb_topics 
   LEFT JOIN   
         phpbb_posts 
   ON    
         phpbb_posts.post_id = phpbb_topics.topic_last_post_id
   LEFT JOIN    
         phpbb_posts_text
   ON    
         phpbb_posts_text.post_id = phpbb_topics.topic_last_post_id
   GROUP BY    
         phpbb_posts.topic_id
   ORDER BY    
         phpbb_posts.post_time
   DESC LIMIT 0,5
war die Lösung, die mein phpbb Forum am Besten auf der Index Seite darstellt.

Zu sehen rechts auf http://www.phreekz.de

mfg chmee
 
Zuletzt bearbeitet:
Zurück