Seite 1 von 1

Datenbanksyncronisation (Beitragszählung anpassen)

Verfasst: 09.03.2006 11:00
von FooFan
Hi,

ich habe mit einem Snippet die funktions_post.php so angepasst, das Beiträge in bestimmten Foren bzw die Userbeiträge nicht mehr gezählt werden .
Das gilt aber nur seit dem Einbau. Beiträge die vorher in den Foren geschrieben worden sind - sind ja noch in der Statistik enthalten.

ich habe folgende php-Datei gefunden, die die Datenbank aktuallisieren sollte.
http://hgh-portal.de/portal-bilder/update_posts.php.txt

Wenn ich die richtige Foren ID eingebe und die Datei ausführe schreibt er mir auch welcher Userbeiträge korrigiert wurden bzw werden müsste.
Leider wird in der Datenbank aber nichts verändert.
Beispiel: User: 100Beiträge. 5 Beiträge in dem Forum was ausgeschlossen werde soll. Nach dem Update müsste es ja 95 sein. Wird aber nicht aktuallisiert.

Kann man was an der update_posts.php ändern?

Verfasst: 10.03.2006 11:44
von FooFan
Hi :oops: ähm also der Beitrag ist noch aktuell - also das "Problem" noch nicht gelöst! ;)

Verfasst: 10.03.2006 13:03
von mr.no-name
So, wie ich das aus dem Quelltext entnommen habe, wird unten in der while-Schleife ein echo-Befehl ausgeführt. Dieser gibt den SQL-Befehl aus, welcher angewendet werden müsste, um entsprechende Änderungen zu machen...oder?
Diese dann einfach in z.B. phpMyAdmin ausführen, oder das Script so ändern, dass der Befehl nicht per echo ausgegeben sondern als SQL-Befehl ausgeführt wird.

Verfasst: 10.03.2006 13:15
von FooFan
Ähmm :oops: wie meinen sie :)
Klingt gut was du da gesagt hast! :D
ISt da viel zu ändern, oder nur ein Befehl?

Verfasst: 10.03.2006 13:40
von mr.no-name
Ich hab leider gerade keine Möglichkeit das selber zu testen....also wüsste ich ersteinmal gerne, ob meine Vermutung stimmt, dass ein SQL-Befehl ausgegeben wird.

Verfasst: 11.03.2006 13:38
von FooFan
*räusper*
Hat davon einer vielleicht Ahnung ? Ich meine die php-Datei könnte man dann auch schön zum Snippet legen! ;) Also betrifft ja mehrere Leute! Bitte! :D :D

Verfasst: 11.03.2006 15:19
von fanrpg
suche

Code: Alles auswählen

echo(" UPDATE phpbb_users SET user_posts = (user_posts-$Abzug) WHERE user_id = $AbzugID ") ;
ersetze mit:

Code: Alles auswählen

mysql_query(" UPDATE phpbb_users SET user_posts = (user_posts-$Abzug) WHERE user_id = $AbzugID ") or die(mysql_error()) ;

Verfasst: 11.03.2006 15:43
von FooFan
Sehr Geil!!! Hat geklappt!!! Wunderbar!!

hier die aktuelle Datei:
update_posts.zip

Wichtig ist, wenn man ein Forum von der Zählung ausgeschlossen hat, das man diese Update ummittelbar danach durchführt, da sonst die Userzahlen verfälscht werden. Die gesammten Beiträge aus den ausgeschlossenen Forum werden abgezogen.. Auch die, die nach der Ausschließung nicht mitgezählt wurden.
Daher kann es vorkommen das man sonst sogar eine "negativen Beitragszahl" erhält. ;)