Frage: Wie bei $latest_topic keine internen Themen anzeigen?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
maker
Mitglied
Beiträge: 99
Registriert: 20.04.2004 17:09

Frage: Wie bei $latest_topic keine internen Themen anzeigen?

Beitrag von maker »

Hallo @ all,

ich hab ein kleines Problem.
Und zwar verwende ich bei mehreren Sachen die Anzeige des letzten Themas, sprich, das Thema was als letztes eröffnet wurde, wird angezeigt:

Code: Alles auswählen

$sql = 'SELECT topic_title
FROM ' . TOPICS_TABLE . '
WHERE topic_id = ' . $max_topic_id;

[..]

$latest_topic = $row['topic_title'];

Allerdings gibt es auf dem Forum auch ein internes Moderatorenforum und die Beiträge aus diesem Forum sollen natürlich nicht unter "Letztes Thema: ABC" angezeigt werden.
Wie kann ich denn diese Themen von der Anzeige ausschließen?

Vllt. so?

Code: Alles auswählen

if (topic_id = forum_id moderatorenforum) { 
$latest_topic = topic_id -1 
} else {
$latest_topic  = topic_id
}
echo $latest_topic
Danke, Gruß

maker
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

In der TOPICS_TABLE sind auch die ForenID's der Topics gespeichert. Du musst demnach nur Deine SQl ein wenig erweitern um bestimmte Foren auszuschliessen.

Code: Alles auswählen

$sql = 'SELECT topic_title
FROM ' . TOPICS_TABLE . '
WHERE topic_id = ' . $max_topic_id . '
AND forum_id <> 3; 
Anstelle der 3 natürlich die forum_id des auszuschliessenden Forums angeben.

Fertig. :)

Grüße,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
maker
Mitglied
Beiträge: 99
Registriert: 20.04.2004 17:09

Beitrag von maker »

danke für die fixe Antwort.

hab jetzt folgendes

Code: Alles auswählen

$max_topic_id = $row['max(topic_id)'];

$sql = 'SELECT topic_title
FROM ' . TOPICS_TABLE . '
WHERE topic_id = ' . $max_topic_id . '
AND forum_id <> 3';
das Problem ist jetzt nur, wenn die id = 3 ist, also das Thema aus dem internen Forum stammt, denn nimmt er nicht den nächsten Eintrag also max(topic_id) -1 sondern er nimmt einfach gar keinen Eintrag, da die Bedingung maximale Topic_id und nicht ausm Forum mit der ID = 3 ja nicht erfüllt wird :/
Muss ich da also doch eine if Abfrage hinhängen?

ginge das z.B so:

Code: Alles auswählen

if ($row['topic_title'] = "") {
$sql = 'SELECT topic_title
FROM ' . TOPICS_TABLE . '
WHERE topic_id = ' . $max_topic_id -1 . '
AND forum_id <> 3';
} else {
echo $row['topic_title'];
}
und das denn nochmal abfragen, ob der 2. Eintrag nicht auch ausm internen Forum kommt...hmm...irgendwie umständlich.
Gibts da denn ne bessere Möglichkeit?

greetz maker
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Entschuldige, ich dachte Du hast ein Script das "die letzten 10" Themen anzeigt z.B. Ich sollte nicht antworten, wenn der Kleine hier in der Wohnung "stresst". :D

Okay, dann nimm folgende SQL, für die Du auch die $max_topic_id nicht benötigst.

Code: Alles auswählen

$sql = 'SELECT topic_title
FROM ' . TOPICS_TABLE . '
WHERE forum_id <> 3
ORDER BY topic_id DESC
LIMIT 1';
Besser wäre m.E. wenn Du auch die topic_id Dir holst und dann auch einen Link anbieten kannst.

Code: Alles auswählen

$sql = 'SELECT topic_title, topic_id
FROM ' . TOPICS_TABLE . '
WHERE forum_id <> 3
ORDER BY topic_id DESC
LIMIT 1';
Viele Grüße,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
maker
Mitglied
Beiträge: 99
Registriert: 20.04.2004 17:09

Beitrag von maker »

ja, die Kinnas eben :D
okay danke, cYbercOsmOnauT.
Hat funktioniert, werd jetzt mal versuchen das ganze nachzuvollziehen, damit ich auch noch mal bissl was lern ;)

greetz maker
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“