#AHBL
Guten Abend ich habe gerade versucht mir die Beiträge aus zwei bestimmten Foren zählen zu lassen doch bekomme ich gerade eine Ausgabe obwohl ein Forum leer ist und ein Forum zwei Beiträge hat.
Problembeschreibung:
So das ist mein Code den ich in der index.php eingebaut habe
php: |
1:
|
$inplayposts=$db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_boards WHERE boardid = '199' AND boardid = '2'"); |
|
Ich habe nun auch eine Einstellung im ACP erweitert wo ich neue Foren hinzufügen kann und bearbeiten kann eigentlich wollte ich es so machen wenn ich im ACP bei Foren erstellen oder bearbeiten die Option "INPLAY" auswähle dass er dann da automatisch zählt aber das habe ich leider nicht so wirklich hinbekommen deswegen würde ich mich freuen wenn mich einer in die richtige Richtung lenken würde wie ich das mit dieser Funktion koppeln kann.
LG
*und kekse da lass*
Fehlermeldung:
Link zum Forum und Screenshot (KEINE Bilderhoster, per Dateianhang):
Was wurde zuletzt geändert oder eingebaut?
Schrimm
Hallo,
Deine Abfrage beinhaltet folgendes:
php: |
1:
|
WHERE boardid = '199' AND boardid = '2'" |
|
Dies würde bedeuten, dass nach einem Forum gesucht wird, das die boardid = 199
und boardid = 2 hat.
Beim wbb ist die boardid jedoch eindeutig.
Willst du die Beiträge aus zwei Foren zählen, könnte es eventuell mit "OR" statt "AND" funktionieren.
#AHBL
Hallo Schrimm,
sorry ich muss noch etwas lernen was da genau was heißt und wie man richtig etwas abfragt.
Das ganze soll auf der Startseite bei der Statistik so aussehen wie im Anhang Nr.1
Deswegen habe ich das ganze so im ACP erweitert unter Boards. Weil ich dachte, das es so vielleicht einfacher wäre (Bild Nr.2 im Anhang).
Also habe ich es jetzt nochmal versucht mit
index.php
code: |
1:
2:
|
$inplay_posts=$db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_boards WHERE inplay='1'");
$archiv_posts=$db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_boards WHERE archiv='1'"); |
|
templates/index_stats-tpl
code: |
1:
|
Inplaybeiträge: $inplay_posts[posts]<br>Archivbeiträge: $archiv_posts[posts] |
|
Nur jetzt scheint er die Boards zu zählen wo ich das mit dem Inplay auf ja gesetzt habe und nun zeigt er mir es wie im Bild Nr.3 an im Anhang. Es waren 12 Foren wo ich es eingestellt hatte und jetzt zählt er die Foren ^^ statt die Beiträge.
Vielen Herzlichen Dank für deine Hilfe.
Schrimm
Hallo,
Über die "bb".$n."_boards" bekommst du keine Beiträge ohne eine Verbindung zur bb".$n."_posts aufzubauen.
php: |
1:
|
$inplay_posts=$db->query_first("SELECT COUNT(p.postid) AS posts FROM bb".$n."_posts p LEFT JOIN bb".$n."_threads t ON (t.threadid=p.threadid) LEFT JOIN bb".$n."_boards b ON (b.boardid=t.boardid) WHERE b.inplay='1'"); |
|
Hiermit hast du nun eine Abfrage, die alle posts zählen sollte, die sich in den Threads befinden, die sich in einem Board befinden, dessen "inplay" auf "1" gestellt wurde.
edit:
Der Grund für die Abfrage ist folgende:
In der bb".$n."_posts, die die Beiträge enthält, wird die threadid gespeichert.
In der bb".$n."_threads wird die threadid und die boardid gespeichert.
Die bb".$n."_boards speichert die boardid und bekommt somit die Verbindung zur bb".$n."_posts nur über die bb".$n."_threads und umgekehrt.
xxxBlackUnicornxxx
Hey
Genau so etwas suche ich, hab aber keine Anleitung gefunden. Gibt es so was vielleicht? Wäre voll dankbar über einen Link
LG Black
#AHBL
@xxxBlackUnicornxxx
Ich habe im ACP eine Funktion wo ich einstellen kann was ein Ingame Forum ist und was ein Archiv Forum ist und daraus lass ich mir mit dem Code von Schrimm meine Ingame und Archiv Beiträge anzeigen.