BadKiss
Mitglied
[PHP&MYSQL] Neue Beiträge/Threads richtig anzeigen in selbstprogrammiertem Forum
Hallo zusammen,
ich habe (leider) mal wieder ein kleines Problem
Ich habe mir jetzt ein eigenes Forum gecodet, welches soweit auch alles super klappt, außer die "neue Beiträge" Anzeige.
Es klappt soweit auch alles, wenn ein neuer Beitrag zu einem bereits bestehenden Thread erscheint.
Eröffnet man jetzt allerdings einen neuen Thread, so wird das nicht angezeigt sondern lediglich der neue Beitrag in dem bereits vorhandenen Thread.
Hier einmal kurz meine Abfragen, damit man es genauer versteht, was ich meine bzw wie ich es bisher umgesetzt habe:
$row_u['board_utopics_id'] ist die ID der Topics/der Kategorie (zb Main >> Allgemein).
Ich hoffe, ihr versteht den Code ^ ^'
Sollte das evtl. einfacher gehn, so freu ich mich auf Vorschläge
Und ich hoffe, jmd kann mir helfen, ich komm einfach nicht weiter im Moment
Hallo zusammen,
ich habe (leider) mal wieder ein kleines Problem
Ich habe mir jetzt ein eigenes Forum gecodet, welches soweit auch alles super klappt, außer die "neue Beiträge" Anzeige.
Es klappt soweit auch alles, wenn ein neuer Beitrag zu einem bereits bestehenden Thread erscheint.
Eröffnet man jetzt allerdings einen neuen Thread, so wird das nicht angezeigt sondern lediglich der neue Beitrag in dem bereits vorhandenen Thread.
Hier einmal kurz meine Abfragen, damit man es genauer versteht, was ich meine bzw wie ich es bisher umgesetzt habe:
$row_u['board_utopics_id'] ist die ID der Topics/der Kategorie (zb Main >> Allgemein).
PHP:
// neuer Thread
$sql_c = "SELECT *
FROM board_utopics, board_thread, member
WHERE board_thread_topic_id = board_utopics_id
AND board_utopics_id = ".$row_u['board_utopics_id']."
AND board_thread_creator = member_id
GROUP BY board_thread_id
ORDER BY board_thread_last_post DESC
LIMIT 1";
$result_c = mysql_query($sql_c) OR die(mysql_error());
$anz_c = mysql_num_rows($result_c);
$row_c = mysql_fetch_assoc($result_c);
PHP:
// neuer Beitrag zu bestehendem Thread
$sql_d = "SELECT *
FROM board_utopics, board_thread, member, board_answer
WHERE board_thread_topic_id = board_utopics_id
AND board_utopics_id = ".$row_u['board_utopics_id']."
AND board_answer_creator = member_id
AND board_answer_thread_id = board_thread_id
GROUP BY board_thread_id, board_answer_id
ORDER BY board_answer_date DESC
LIMIT 1";
$result_d = mysql_query($sql_d) OR die(mysql_error());
$anz_d = mysql_num_rows($result_d);
$row_d = mysql_fetch_assoc($result_d);
PHP:
// Prüfen, ob Member neuen Beitrag/Thread schon gelesen hat
if($anz_d || $anz_c) {
if($anz_d) {
// neuer Beitrag zu bestehendem Thread
$sql_y = "SELECT *
FROM member_thread_read, board_thread, board_utopics
WHERE board_utopics_id = ".$row_u['board_utopics_id']."
AND board_utopics_id = board_thread_topic_id
AND board_thread_id = ".$row_d['board_thread_id']."
AND member_thread_read_member_id = ".$_SESSION['member_id']."
AND member_thread_read_thread_id = board_thread_id
AND member_thread_read_last_read > board_thread_last_post";
} elseif($anz_c) {
// neuer Thread
$sql_y = "SELECT *
FROM member_thread_read, board_thread, board_utopics
WHERE board_utopics_id = ".$row_u['board_utopics_id']."
AND board_utopics_id = board_thread_topic_id
AND board_thread_id = ".$row_c['board_thread_id']."
AND member_thread_read_member_id = ".$_SESSION['member_id']."
AND member_thread_read_thread_id = board_thread_id
AND member_thread_read_last_read > board_thread_last_post";
}
$result_y = mysql_query($sql_y) OR die(mysql_error());
$anz_y = mysql_num_rows($result_y);
if($anz_y) {
$threadreadyet = '<img src="/image/old_posts.png" alt="Old Posts" />';
} else {
$threadreadyet = '<img src="/image/new_posts.png" alt="New Posts" />';
}
} else {
$threadreadyet = '<img src="/image/old_posts.png" alt="Old Posts" />';
}
Ich hoffe, ihr versteht den Code ^ ^'
Sollte das evtl. einfacher gehn, so freu ich mich auf Vorschläge
Und ich hoffe, jmd kann mir helfen, ich komm einfach nicht weiter im Moment
Zuletzt bearbeitet: