Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Forum / Anzahl Beiträge

Moin Moin ;)
Ich bin gerade dabei ein kleines Forum zu programmieren und hab da mal ne grundsätzliche Frage... bei der allerersten Forenübersicht... Dort sieht man ja die ganzen Foren und dort soll (und das is ja bei den meisten Foren so ) die Anzahl der enthaltenen Beiträge und Threads stehen... realisieren würde ich das so:

Code:                   In Zwischenablage kopieren (nur IE)
1">

ich frage mich bloß, ob man das nicht besser gestalten kann... das wären aufgrund der while Schleife ja dann ziemlich viele DB Abfragen... ist es irgendwie möglich die COUNT(thread_id) Abfrage irgendwie mit einer Abfrage zu gestalten?
Hier gehts zum Orginal Eintrag "Forum / Anzahl Beiträge" im Forum

Antworten

ich versteh das Problem nicht...

$sql = "select count(*) from tabelle";
$result = mysql_query($sql);
$rec = mysql_fetch_row($result);


2.

Wenn ich das Datenmodell (welches leider nicht erklärt wird) richtig errate, sollte das jeweils mit einer einzigen Abfrage gehen:

Code:                   In Zwischenablage kopieren (nur IE)
2">

Äquivalent dazu die Abfrage nach Anzahl der Postings (überlasse ich Dir als Übung). Ggf. muss in der Abfrage den Spaltennamne (forum_id usw.) der Tabellenname vorangestellt werden (FORUM_FORUM.forum_id), falls der Spaltenname nicht eindeutig zugeordnet werden kann (sieht aber so aus als wenn es so wie oben ausreicht).

P.S.: Wenn in Forum noch gar keine Threads erstellt wurden, wird dieses Forum gar nicht aufgeführt mit obigem SELECT. Möchtest Du für solche Fälle die Anzahl "0 Threads" anzeigen, so musst Du den impliziten JOIN durch einen LEFT JOIN und entsprechend die WHERE-Klausel durch ON ersetzen (und vor allem die Reihenfolge der Tabellen umdrehen, also FORUM_FORUM LEFT JOIN FORUM_THREADS ON ....)


3.

Ah vielen Dank...das klappt wunderbar. Nur ein Problem hab ich.... wenn jetzt noch keine Threads erstellt wurden (also das COUNT(*) leer ist oder eben 0) dann gibt er mir auch den Forumname nicht mit aus... also er liest dann die Zeile gar nicht aus der Datenbank aus... was kann ich dagegen machen? Das Forum soll ja trotzdem angezeigt werden. Dann stht da eben Anahl Threads= 0
MfG


Hier gehts zum Orginal Eintrag "Forum / Anzahl Beiträge" im Forum
 
phpforum.de | Impressum