Themenanzeige auf der Startseite |
MK70
Mitglied
Dabei seit: 17.01.04
Beiträge: 390
Fähigkeiten: WBB3 Profi Forenversion: 3.1
|
|
Problembeschreibung:
Auf der Startseite werden trotz löschen, der in den Foren befindlichen Themen, die Anzahl Themen / Beiträge und auch der letzte Beitrag von ..., nicht gelöscht.
Im ACP unter Anzeigen Aktualisieren gibt es die Funktion zum aktualsieren leider nicht (wie im WBB2).
Kann mir wer nen Tipp geben, wo ich da was einstellen muss ?
Evtl. in der DB ?
|
|
27.04.08 15:41 |
Finden
Als Freund hinzufügen
|
|
MK70
Mitglied
Dabei seit: 17.01.04
Beiträge: 390
Fähigkeiten: WBB3 Profi Forenversion: 3.1
Themenstarter
|
|
Hallo,
Screen brauch ich net mehr machen, hab es gerad endlich nach ewiger Suche gefunden...
Aber für die, die evtl. auch mal das Problem haben:
In den Spalten Beiträge, Themen, Letzter Beitrag werden ja die jeweiligen Themen und Beiträge gezählt / angezeigt. Diese Anzeige musste auf 0 gesetzt werden.
Lösung:
In der Tabelle bbx_boards müssen die folgenden Werte auf 0 bzw. gänzlich gelöscht werden:
threadcount, postcount, lastthreadid, lastposttime, lastposterid und lastposter.
|
|
27.04.08 15:53 |
Finden
Als Freund hinzufügen
|
|
MK70
Mitglied
Dabei seit: 17.01.04
Beiträge: 390
Fähigkeiten: WBB3 Profi Forenversion: 3.1
Themenstarter
|
|
oh, das klingt gut. Werde ich beizeiten auch mal einbauen...
|
|
02.05.08 13:42 |
Finden
Als Freund hinzufügen
|
|
Beckebans
Alternativ Mitglied
Dabei seit: 10.07.05
Beiträge: 481
Fähigkeiten: WBB Lite 1 Fortgeschritten Herkunft: Paderborn Forenversion: Lite 1.0
|
|
Auch wenn ich jetzt wahrscheinlich gesteinigt werde, weil ich nen uraltes Thema ausgrabe:
Der Code von TRS funktioniert soweit. Allerdings werden nur die Beiträge des aktuellen Boards gezählt. Wie bekomme ich es hin, dass die Beiträge von Subboards, deren Subboards, deren Subboards,... immer mit dazu addiert werden?
__________________ Meine Hacks:
- Userpage
- Geburtstagsliste
- Beitrag bedanken
- User verlinken
- PHP-Fehler anzeigen
- Umfragedauer
- Neue Beiträge während Eigenem
- Gruppenspezifische Mitgliederliste
- und weitere...
|
|
22.08.11 22:33 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Beckebans
Alternativ Mitglied
Dabei seit: 10.07.05
Beiträge: 481
Fähigkeiten: WBB Lite 1 Fortgeschritten Herkunft: Paderborn Forenversion: Lite 1.0
|
|
@Schrimm, ich brauche nochmal deine Hilfe. Ich habe mich daran ein bisschen versucht und dieses hier herausbekommen:
==> acp/otherstuff.php
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
|
if($action=="boardposts")
{
function count_boardposts($boardid)
{
global $db, $n;
$postcount = $db->query_first("SELECT COUNT(postid) AS countp FROM bb".$n."_posts p LEFT JOIN bb".$n."_threads t ON (p.threadid=t.threadid) LEFT JOIN bb".$n."_boards b ON (t.boardid=b.boardid) WHERE b.boardid='$boardid' AND p.visible=1");
if($postcount[childlist] == 0) {
return $postcount[countp];
break;
} else {
$childlist = explode(",", $postcount[childlist]);
for($i = 0; $i < count($childlist); $i++ ) {
if(!$childlist[$i] == 0) {
$childlist_i = $childlist[$i];
count_boardposts($childlist_i);
}
}
}
}
$result=$db->query("SELECT boardid FROM bb".$n."_boards ORDER BY boardid ASC");
while($row=$db->fetch_array($result))
{
$boardposts_result = count_boardposts($row[boardid]);
$db->unbuffered_query("UPDATE bb".$n."_boards SET postcount='$boardposts_result' WHERE boardid='$row[boardid]'",1);
}
eval("print(\"".gettemplate("working_done")."\");");
} |
|
Nur wie kann ich jetzt die ganzen Zählungen zusammenaddieren?
__________________ Meine Hacks:
- Userpage
- Geburtstagsliste
- Beitrag bedanken
- User verlinken
- PHP-Fehler anzeigen
- Umfragedauer
- Neue Beiträge während Eigenem
- Gruppenspezifische Mitgliederliste
- und weitere...
|
|
02.09.11 16:55 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Beckebans
Alternativ Mitglied
Dabei seit: 10.07.05
Beiträge: 481
Fähigkeiten: WBB Lite 1 Fortgeschritten Herkunft: Paderborn Forenversion: Lite 1.0
|
|
Ja gut, wenn ich das break nicht brauche kann ich das direkt dahinter schreiben. Ist übersichtlicher. Das mit dem else finde ich so wie jetzt eigentlich übersichtlicher. Mit Funktionen habe ich noch nichts groß gemacht und deswegen ist mir das mit dem Ende bei return nicht so geläufig. Da finde ich es mit dem else einfacher zuzuordnen, dass es zu der vorherigen Bedingung gehört. Anfängersache halt
Das mit dem childlist sollte eigentlich nicht "false und 0" abfragen, sondern "nicht 0". Da hab ich nur das Rufzeichen an der falschen Stelle gemacht.
Das childlist selbst sollte durch den Query mitkommen, da habe ich aber irgendwie falsch gedacht. Mit dem count zusammen kann man das ja garnicht abfragen.
So sollte es besser aussehen, oder?
Die Funktion ist aber immer noch nicht richtig.
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
|
function count_boardposts($boardid,$count=0)
{
global $db, $n;
$postcount = $db->query_first("SELECT COUNT(postid) AS countp FROM bb".$n."_posts p LEFT JOIN bb".$n."_threads t ON (p.threadid=t.threadid) LEFT JOIN bb".$n."_boards b ON (t.boardid=b.boardid) WHERE b.boardid='$boardid' AND p.visible=1");
$board = $db->query_first("SELECT childlist FROM bb".$n."_boards WHERE boardid='$boardid'");
$count = $count + $postcount[countp];
if($board[childlist] == 0) return $count;
else {
$childlist = explode(",", $board[childlist]);
for($i = 0; $i < count($childlist); $i++ ) {
if($childlist[$i] != 0) {
$childlist_i = $childlist[$i];
$count = count_boardposts($childlist_i,$count);
}
}
return $count;
}
} |
|
__________________ Meine Hacks:
- Userpage
- Geburtstagsliste
- Beitrag bedanken
- User verlinken
- PHP-Fehler anzeigen
- Umfragedauer
- Neue Beiträge während Eigenem
- Gruppenspezifische Mitgliederliste
- und weitere...
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Beckebans: 02.09.11 20:10.
|
|
02.09.11 20:10 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Schrimm
Banned
Dabei seit: 21.08.11
Beiträge: 700
|
|
Zitat: |
Original von Beckebans
OK, die beiden Änderungen habe ich noch reingemacht.
Es kommt die Anzahl der Beiträge in dem einen Board heraus. Die Anzahl der Beiträge aus den ganzen Unterboards werden ignoriert. Diese sollten ja eigentlich mit dabei gerechnet sein. |
Entweder das, oder er geht dir gar nicht wirklich weiter rein.
Mache mal zum Test unter "$count = $count + $postcount[countp];"
Ein echo rein und lass dir "$count" ausgeben.
|
|
02.09.11 20:43 |
Finden
Als Freund hinzufügen
|
|
Schrimm
Banned
Dabei seit: 21.08.11
Beiträge: 700
|
|
Schön, dass es nun funktioniert.
Zur Erklärung für Alle die es nicht wissen:
In der bbX_boards wird die childlist als String, also Text, gespeichert und nicht als Integer(Zahl).
Verwendet man nun diesen mittels Vergleichsoperator muss ein String unter Anführungsstriche und ein Integer nicht.
Da er hier ständig nach der Zahl 0 gesucht hat, anstatt nach dem Text 0, fand er keine Übereinstimmung.
|
|
02.09.11 21:15 |
Finden
Als Freund hinzufügen
|
|
Beckebans
Alternativ Mitglied
Dabei seit: 10.07.05
Beiträge: 481
Fähigkeiten: WBB Lite 1 Fortgeschritten Herkunft: Paderborn Forenversion: Lite 1.0
|
|
Ich habe den Code nochmals geändert, da die Funktion nicht mehr benötigt wird. Der komplette Code befindet sich in meinem vorherigen Beitrag.
__________________ Meine Hacks:
- Userpage
- Geburtstagsliste
- Beitrag bedanken
- User verlinken
- PHP-Fehler anzeigen
- Umfragedauer
- Neue Beiträge während Eigenem
- Gruppenspezifische Mitgliederliste
- und weitere...
|
|
03.09.11 17:38 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
|