Prüfen ob gelesen oder nicht?
Sven
- php
0 Sven0 Vinzenz Mai
Hallo,
bin dabei mir gerade ein Forum zu schreieben. Funktioniert auch schon - Nur ich will jetzt prüfen, ob in einem Forum neuee Themen sind, was der Benutzer noch nicht gelesen (angeklickt) hat. Lösung habe ich gefunden und zwar:
Beim Registrieren wird für jeden Benutzer eine Tabelle angelegt mit folgendene Felder:
ForumID, ThreadID, ThreadCount und ReplyCount. Habe es so vor, dass wenn man das Forum aufruft (Index) das ich mit einer While-Schleife alle Einträge durchgehe und prüfe ob die ForumID vorhanden ist. Wenn nicht, ist der Benutzer neu und hat das Forum noch nicht gelesen. Wenn ja prüfe ich ob Themen insgesamt im Forum größer ist als was in der Tabelle steht wenn ja sind neue Threads dabei.
Funktioniert auch, nur ich weis nicht, weil ich die Tabelle ganz durchgehen muss ob zu prüfen, ob die ForumID vorhanden ist. Gibts eine schnellere Lösung? Oder kann ich ruig die Methode anwenden? Habe angst, dass die Ladezeiten groß sind.
MFG
Sven!
Hi,
ich bins nochmal... gezielt will ich einfach nur wissen, ob es schnellere Methoden gibt? Oder ob das schon ne gute Lösung ist wie ich es zur Zeit mache.
Danke im voraus!
Hallo Sven,
Beim Registrieren wird für jeden Benutzer eine Tabelle angelegt mit folgendene Felder: ForumID, ThreadID, ThreadCount und ReplyCount.
das ist keine gute Idee. Lege statt einer Tabelle einen Datensatz in einer vorhandenen Tabelle an. Benutzer könntest Du z.B. an einer user_id unterscheiden.
Habe es so vor, dass wenn man das Forum aufruft (Index) das ich mit einer While-Schleife alle Einträge durchgehe und prüfe ob die ForumID vorhanden ist.
Du hast eine Datenbank? Z.b. eine MySQL-Datenbank? Du hast schon einmal von SQL gehört? Die Syntax von SELECT sollte Dir weiterhelfen, z.B. die WHERE-Klausel und die Aggregatsfunktionen in Verbindung mit GROUP BY.
Funktioniert auch, nur ich weis nicht, weil ich die Tabelle ganz durchgehen muss ob zu prüfen, ob die ForumID vorhanden ist. Gibts eine schnellere Lösung?
Bestimmt. Eine vernünftige Lösung sollte weit schneller sein.
Oder kann ich ruig die Methode anwenden?
Nein, Du solltest diese Methode nicht anwenden. Deine Datenbankstruktur ist verbesserungswürdig, Deine Suchstrategie ineffizient.
Freundliche Grüße
Vinzenz