Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 01.03.2007, 15:22 Titel: Forum Marke Eigenbau - Beitrag gelesen |
|
|
Ich bin mom. u.a. dabei ein Forum in PHP zu proggern.
Dies ist auch alles schön und gut, und funktioniert sogar einwandfrei, doch werden mom. noch keine aktuellen Beiträge angezeigt, so wie man das von PHPbb kennt.
Wie macht man sowas?
Mom. denke ich an eine Array-Lösung, d.h. an jeden Beitrag hänge ich ein Text-Feld ran und schreibe die BenutzerID's rein, per Semikolon getrennt, die es schon gelesen haben.
So, das Prob ist: bei vielen Nutzern könnte dies sehr lang dauern.
Gibt es eine bessere Variante? |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 01.03.2007, 15:49 Titel: |
|
|
kenne mich mit PHP zwar nicht aus, aber mal abgesehen davon das jeder user eine eigene ID hat so wie hier, solltest Du für jeden angemeldeten bzw registrierten User eine art merk datei erstellen, quasi so das wenn das aktuelle Forum in den verschiedenen unterverzeichnissen und so weiter anders ist als das zuletzt gespeicherte dann ist es mit sehr hoher wahrscheinlichkeit neu ich glaub ohne registration wirst Du damit probleme bekommen, ausser über IP und so, aber wie gesagt, kenn mich damit nicht wirklich aus.... _________________
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 01.03.2007, 15:54 Titel: |
|
|
Na Dateien nehm ich nich, ich nehm ne Datenbank
Und man muss sich reggen, sonst kriegt man das Forum gar nicht erst zu sehen
Joa, aber den Gedanken, noch ne Extra Tabelle dafür hatt ich auch schon, aber irgendwie auch wieder verworfen, meine mom. 20 Tabellen fressen schon ohne Daten bereits 21 KByte... |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 01.03.2007, 16:00 Titel: |
|
|
muss ja keine Tabelle wie für das Forum sein, lediglich eine Flag-Tabelle meinetwegen mit 1 oder 0 für gelesen/nicht gelesen
womit schreibt man bzw compiliert man PHP ? Hab mich lang nicht mehr mit sowas befasst.... _________________
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 01.03.2007, 16:01 Titel: |
|
|
PHP is i.d.R. ne Interpretersprache, also Fehler sind schnell behoben.
Und dann muss es doch ne extra Tabelle in der DB sein, sonst wirds unbübersichtlich... |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 01.03.2007, 17:51 Titel: |
|
|
Zitat: | Ich bin mom. u.a. dabei ein Forum in PHP zu proggern. |
Wow! Daran habe ich mich dann doch nie rangewagt ...
1. Möglichkeit: Du listest einfach nur die neuen Einträge seit dem letzten Besuch. Das heißt, du speicherst, wann der Besucher zuletzt da war und zeigst alle Beiträge, die seither erstellt wurden.
Vorteil: verhältnismäßig einfach
Nachteil: Vermutlich nicht genau das, was du willst.
2. Möglichkeit: Du speicherst für jeden Thread und jeden User, wie weit (= bis zu welchem Topic) der User diesen Thread bereits gelesen hat. Vielleicht, indem du den Threads eine fortlaufende Nummer gibst und für alle Threads zusammen ein einziges Datenbankfeld in der Usertabelle verwendest. Oder in dem du eine eigene Tabelle in der Form Usernummer - Threatnummer - AnzahlGelesenerPosings anlegst. Was am günstigsten ist, weiß ich nicht.
Hast du schon mal die Datenbank von PhpBB angesehen? Da müsste man es eigentlich rauslesen können, wie die das machen (wenn die Datenbank nicht so unübersichtlich wäre ...) |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 01.03.2007, 17:58 Titel: |
|
|
Soweit ich es weiß, löst phpBB es irgendwie per Cookie.
Zitat: | Wow! Daran habe ich mich dann doch nie rangewagt ... cool |
Ist das jetz ernst gemeint?
Das Forum an sich stand ja schon an einem Abend, und hatte eine ähnliche Funktionalität wie phpBB, geht an einigen Stellen sogar noch weiter.
Dieses Forum läuft quasi in einer neuen Dimension ab, aber ich will nicht zuviel versprechen. Jedenfalls isses etwas neues
Zu 1.: Ne, leider nicht das was ich suche
Zu 2.: So könnt man es auch machen, das wäre aber glaub ich noch aufwendiger als die bisherigen Varianten...
Also:
Ich habe bisher für das Forum 4 Tabellen:
Themen, Boards, Threads und Antworten.
Alle sind durchnummeriert, daher glaube ich mom., die Array-Variante ist die einfachste... für den Progger und Nutzer, auch wenn ich mir den Speed, den ich bisher gewonnen hab, zunichte mache...  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 01.03.2007, 18:15 Titel: |
|
|
Zitat: | Ist das jetz ernst gemeint? |
Jepp. Ein Netzbrett (gibt es den Begriff offiziell?) habe ich schon zusammengeschustert, aber das hat nur den Bruchteil der Funktionen, die ein Forum üblicherweise so hat. Um ein doch sehr umfangreiches Objekt wie ein ausgereiftes Forum anzugehen, habe ich ein zu schlechtes Gedächtnis - ich kann mir nicht zu viele Einzelfunktionen gleichzeitig merken
Um ehrlich zu sein: mir hat schon mal jemand, der etwas an PhpBB herumgemoddet hat, erklärt, wie das funktioniert, aber ich habe nur Bahnhof verstanden
Zitat: | Dieses Forum läuft quasi in einer neuen Dimension ab |
In der vierten?  |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 01.03.2007, 18:53 Titel: |
|
|
lolz... ne, ich hab eigentlich lediglich ein paar "Änderungen" am Prinzip vorgenommen, die es meiner Meinung nach stark vereinfachen, mit einem solchen Forum umzugehen...
Aber ich denk ma sie sind nützlich... |
|
Nach oben |
|
 |
Progger_X Mr. Lagg
Anmeldungsdatum: 24.11.2004 Beiträge: 784 Wohnort: Leipzig
|
Verfasst am: 01.03.2007, 20:33 Titel: |
|
|
Kannst du dein Problem mal genauer erläutern?
Ich hab das ja bei TFO auch mal gemacht, und das mit gelesen / ungelesen ist ziemlich simpel, du machste ne tabelle (beitrag_gelesen ( id, nutzer, beitragid) ), und schreibst dann immer rein, wer was ließt. Und wenn halt nen neuer Beitrag bei einem Thema kommt, machste "DELETE FROM beitrag_gelesen WHERE beitragid=$id" oder wie dus strukturieren willst.. |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 01.03.2007, 20:35 Titel: |
|
|
Dann wärs ja schon das was Eternal_Pain sich gedacht hat... also wenn das so ist, (und es nicht rechenaufwendig ist) mach ich das so....
DANKE
Credits gibs für jeden der mir geholfen hat xD |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 01.03.2007, 21:26 Titel: |
|
|
datenmüll ich komme! xD
das ist zwar die sicherste lösung aber wenn dein forum größeren belastungen standhalten soll brichts so der server zusammen. das phpBB speicher in den cookies jeweils, welche beiträge du schon besucht hast, und berechnet die nicht besuchten jeweils aus der zeit seit dem letzten login, das ist weniger aufwendig, dafür etwas schwieriger und anfälliger. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 01.03.2007, 21:42 Titel: |
|
|
Also der Server ist leistungsfähig
Aber so wie ich es mir grad vorstell, sollts gehen  |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 02.03.2007, 16:21 Titel: |
|
|
Öhm...dein Board soll teilweise besser sein als phpBB, aber schon an einem Abend gestanden haben?  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 02.03.2007, 16:47 Titel: |
|
|
Sagen wir ma so... ich finds besser
Und, ja es ist an einem Abend entstanden, aber mom. überarbeite ich es noch einmal. Es wird Teil des neuen Meetpoints  |
|
Nach oben |
|
 |
|