mod: Forenstatistiken

Frohe Ostern SelfHTML - Forum,

In meiner *Forum* - Klasse biete ich an in Abhängigkeit von User-Grad (Moderator, Mitglied, Gäste etc.) Beiträge, Themen, Anhänge usw. individuell zu zählen. In der Database speichere ich immer die komplette Zahlen ab, als würde man auf das gesamte Forum Zugriff. Korrekturfunktionen korigieren die Zahlen dann für jede User-Gruppe.

Nun ist mir ein Fehler unterlaufen. Änderungen der Zahlen von Posts, Themen, Anhängen habe ich nicht auf Basis des vollen Zugriffs sondern auf Basis ein USer-Gruppe vorgenommen. Ersteres wäre natürlich richtig.

Meine Frage: Wie würdet ihr vorgehen?

  1. Zwei getrennte *Instanzen* definieren, dh einen für Vollzugriff, die andere für Individuell-Zugriff, und dann Statistiken auf Basis:

$posts++;
$sql='UPDATE topics SET posts = '.$posts.' WHERE topic\_id = 2';

ändern.

oder

  1. eine Instanz für Individual-Zugriff schaffen und nur Änderungen in Database ändern:
    $delta_posts = 0;
    ...
    $delta_posts++;
    $sql='UPDATE topics SET posts = posts + '.$delta_posts.' WHERE topic\_id = 2';

Oder habt ihr andere Ideen ?

Gruß mod.

  1. Hallo,

    Oder habt ihr andere Ideen ?

    wenn's kein Performance-Problem ist: nicht speichern, sondern zählen.

    Was Du überhaupt wie zählst, das kann ich ohnehin nicht nachvollziehen, da mir Deine Datenbankstruktur genauso unbekannt ist wie Deine Forenstruktur.

    Freundliche Grüße

    Vinzenz

    1. Was Du überhaupt wie zählst, das kann ich ohnehin nicht nachvollziehen, da mir Deine Datenbankstruktur genauso unbekannt ist wie Deine Forenstruktur.

      • Wie viele Beiträge, Themen, Anhänge, Umfragen gibt's in einem Forum?
      • Wie viele Beiträge, Anhänge gibt zu einem Thema?
      • Wie viele Antworten gibt es zu einer Umfrage?
      • Wie viele Hits hatte ein Anhang?

      Gespeichert wird in DB Tabelle forum, posts, attachments, votes ...

      Zahl wird einfach um 1 hochgesetzt wenn was hinzugefügt wurde.

      Die Forenstruktur, Themenstruktur basiert auf der Baumstruktur!