Hoe werkt GoT ? >:)

Pagina: 1
Acties:

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
lekker zitten knutselen met SQL, maar ik vraag me nou toch wel wat af...

hoe werkt een forum? :+

ik heb al wat bedacht, namelijk elk bericht een forum-id, een topic-id en een message-id meegeven en als record in een tabel 'berichten' invoegen, (desnoods een versleuteling van deze drie elementen), maar dan worden je querys toch supertraag, aangezien ie door ál die posts moet gaan om z'n data bij elkaar te sprokkelen? Of wordt de database continu op een bepaalde rij (topic?) gesorteerd:?

  • Arnout
  • Registratie: December 2000
  • Laatst online: 11-09 16:05
Lijkt me meer iets voor P&W...

  • BOOTZ
  • Registratie: Maart 2001
  • Laatst online: 09:54
ikonboard (www.ikonboard.com) gebruikt deze tables, wat ze doen spreekt denk ik voor zich:

ib_active_sessions
ib_address_books
ib_attachments
ib_authorisation
ib_calendar
ib_categories
ib_email_templates
ib_forum_info
ib_forum_moderators
ib_forum_poll_voters
ib_forum_polls
ib_forum_posts
ib_forum_rules
ib_forum_subscriptions
ib_forum_topics
ib_help
ib_mem_groups
ib_member_profiles
ib_member_titles
ib_message_data
ib_message_stats
ib_mod_email
ib_mod_posts
ib_moderator_logs
ib_search_log
ib_ssi_templates
ib_templates

Maak je eigen poll


  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 13:50

Koffie

Koffiebierbrouwer

Braaimeneer

Move [forum=24] > [forum=14]

Braaikamer - Smoke&BBQ


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Indexes :)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Nielsz:
Indexes :)
inderdeed

En als je dat niet op die manier op moet lossen, waarom hebben ze dan uberhaupt het begrip normaliseren uitgevonden? :+

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op vrijdag 11 januari 2002 14:34 schreef drm het volgende:

[..]

inderdeed

En als je dat niet op die manier op moet lossen, waarom hebben ze dan uberhaupt het begrip normaliseren uitgevonden? :+
Mwah, jek an natuurlijk ook gewoon een andere tabel nemen, en daar alle posts van de afgelopen maand inzetten.


;)

  • RRX
  • Registratie: Mei 2000
  • Laatst online: 25-08 23:43

RRX

@life-

Op vrijdag 11 januari 2002 14:05 schreef xeninex het volgende:
lekker zitten knutselen met SQL, maar ik vraag me nou toch wel wat af...

hoe werkt een forum? :+

ik heb al wat bedacht, namelijk elk bericht een forum-id, een topic-id en een message-id meegeven en als record in een tabel 'berichten' invoegen, (desnoods een versleuteling van deze drie elementen), maar dan worden je querys toch supertraag, aangezien ie door ál die posts moet gaan om z'n data bij elkaar te sprokkelen? Of wordt de database continu op een bepaalde rij (topic?) gesorteerd:?
een bericht hoef alleen maar een topic_ID te hebben hoor :) waarom zou je er een forum_ID aan meegeven :?

mijn T.net systeemspecspagina


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

Op vrijdag 11 januari 2002 14:19 schreef BOOTZ het volgende:
ikonboard (www.ikonboard.com) gebruikt deze tables, wat ze doen spreekt denk ik voor zich:
ikonboard is een ranzige ***zooi :)

Klaar voor een nieuwe uitdaging.


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
  • [sup]_______________________________________________________________________________________________[/sup] [b]Op vrijdag 11 januari 2002 14:05 schreef xeninex het volgende:[/b] lekker zitten knutselen met SQL, maar ik vraag me nou toch wel wat af... [b][u]hoe werkt een forum?[/u][/b] :+ ik heb al wat bedacht, namelijk elk bericht een forum-id, een topic-id en een message-id meegeven en als record in een tabel 'berichten' invoegen, (desnoods een versleuteling van deze drie elementen), maar dan worden je querys toch supertraag, aangezien ie door ál die posts moet gaan om z'n data bij elkaar te sprokkelen? Of wordt de database continu op een bepaalde rij (topic?) gesorteerd:?[sup]_______________________________________________________________________________________________[/sup]
Zoals ik het zou doen:
  • Een tabel met daarin de fora, met forum_id
  • Een tabel voor de topics, met daarin forum_id en topic_id
  • Een tabel voor de berichten, met bericht_id en topic_id
  • En uiteraard tabellen voor de users etc.
En vervolgens met SQL gaan combineren.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

elnino:
Zoals ik het zou doen:
  • Een tabel met daarin de fora, met forum_id
  • Een tabel voor de topics, met daarin forum_id en topic_id
  • Een tabel voor de berichten, met bericht_id en topic_id
  • En uiteraard tabellen voor de users etc.
En vervolgens met SQL gaan combineren.
Die berichtentabel:
• een table voor berichten met bericht_id, topic_id, user_id (wie heeft het bericht gepost)

zou ik doen :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op vrijdag 11 januari 2002 14:21 schreef Nielsz het volgende:
Indexes :)
Redundante gegevens :)

Who is John Galt?


Verwijderd

Op vrijdag 11 januari 2002 16:04 schreef chem het volgende:

[..]

ikonboard is een ranzige ***zooi :)
Gaan we flamen?

;)

(De code van v3 is wel toppie btw)

  • RRX
  • Registratie: Mei 2000
  • Laatst online: 25-08 23:43

RRX

@life-

Op vrijdag 11 januari 2002 16:20 schreef Zef het volgende:
[..]
http://www.kbulletin.com/zef/gotstats.php

is dat niet eerder een top 138 :? :)

mijn T.net systeemspecspagina


Verwijderd

Op vrijdag 11 januari 2002 16:52 schreef RRX het volgende:

[..]

http://www.kbulletin.com/zef/gotstats.php

is dat niet eerder een top 138 :? :)
offtopic:
Ja, en? >:) ;) (meer een top 500 zoveel)

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
maar, zoals ik al schreef, is het dus een kwestie van continu optimaliseren van de database (cachen, cachen, cachen)? Of wordt elke query gewoon uitgevoerd? Betekent dat gewoon dat je 'n dijk van 'n server moet hebben (zeker met zo'n topic-count), of valt dat allemaal wel mee?

  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 14-09 20:56
Op vrijdag 11 januari 2002 17:34 schreef Zef het volgende:

[..]

offtopic:
Ja, en? >:) ;) (meer een top 500 zoveel)
[off-topic]
Dat printbare versie gedoe heeft copyright tot 2001 :)

FF versleutelen in 2002 maar :)

Verbouwing


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
zo heb ik het
code:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# --------------------------------------------------------
#
# Tabel structuur voor tabel 'f_berichten'
#

CREATE TABLE f_berichten (
   id int(4) NOT NULL auto_increment,
   threadid varchar(10) NOT NULL,
   username varchar(12) NOT NULL,
   datumtijd varchar(20) NOT NULL,
   bericht longtext NOT NULL,
   edittime varchar(20) NOT NULL,
   edituser varchar(12) NOT NULL,
   ip varchar(15) NOT NULL,
   ref varchar(50) NOT NULL,
   UNIQUE id (id)
);


# --------------------------------------------------------
#
# Tabel structuur voor tabel 'f_forums'
#

CREATE TABLE f_forums (
   id int(4) NOT NULL auto_increment,
   titel varchar(50) NOT NULL,
   beschrijving varchar(255) NOT NULL,
   volgorde char(2) NOT NULL,
   UNIQUE id (id)
);


# --------------------------------------------------------
#
# Tabel structuur voor tabel 'f_threads'
#

CREATE TABLE f_threads (
   id int(4) NOT NULL auto_increment,
   forumid varchar(10) NOT NULL,
   titel varchar(50) NOT NULL,
   status decimal(1,0) DEFAULT '2' NOT NULL,
   lastpost varchar(15) NOT NULL,
   ref varchar(50) NOT NULL,
   UNIQUE id (id)
);


# --------------------------------------------------------
#
# Tabel structuur voor tabel 'f_unixtime'
#

CREATE TABLE f_unixtime (
   id int(4) NOT NULL,
   threadid int(4) NOT NULL,
   unixtime timestamp(14),
   UNIQUE id (id)
);

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Speedpete
  • Registratie: December 2001
  • Laatst online: 05-09 11:10

Speedpete

was barman

Ik ben bezig met een forumpie, en momenteel werkt het lekker vlot en snel...

tabel met forums..
voor elk forum een tabel met topics en een tabel met berichten. Daarnaast een tabel met users en hop, werken maar.

Werkt beter dan verwacht...

Object-oriented programming offers a sustainable way to write spaghetti code | Hoe vleugels wel werken.


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Op zaterdag 12 januari 2002 22:26 schreef SWINX het volgende:
zo heb ik het
[ code ]
Ik zou als ik jou was de id-integers wel UNSIGNED maken, zodat er geen negatieve getallen inpassen en er dus meer positieve getallen gebruikt kunnen worden. (Een id of aantal replies is namelijk nooit negatief)

Daarnaast gebruik je int(4), en volgens de MySQL-documentatie betekent dat de maximale weergavegrootte (dus max. 9999). Volgens mij kun je dan beter 10 neerzetten, want zo gebruik je een integer optimaal. (zie ook: http://www.mysql.com/documentation/mysql/bychapter/manual_toc.html#Column_types)

Verder wel een goede indeling lijkt me.

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op zaterdag 12 januari 2002 23:03 schreef elnino het volgende:

[..]

Ik zou als ik jou was de id-integers wel UNSIGNED maken, zodat er geen negatieve getallen inpassen en er dus meer positieve getallen gebruikt kunnen worden. (Een id of aantal replies is namelijk nooit negatief)

Daarnaast gebruik je int(4), en volgens de MySQL-documentatie betekent dat de maximale weergavegrootte (dus max. 9999). Volgens mij kun je dan beter 10 neerzetten, want zo gebruik je een integer optimaal. (zie ook: http://www.mysql.com/documentation/mysql/bychapter/manual_toc.html#Column_types)

Verder wel een goede indeling lijkt me.
iig thanx voor je tips :)

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 03-09 17:11

GraasGast

Analogue Heaven

Op zaterdag 12 januari 2002 21:15 schreef xeninex het volgende:
maar, zoals ik al schreef, is het dus een kwestie van continu optimaliseren van de database (cachen, cachen, cachen)? Of wordt elke query gewoon uitgevoerd? Betekent dat gewoon dat je 'n dijk van 'n server moet hebben (zeker met zo'n topic-count), of valt dat allemaal wel mee?
valt allemaal best mee...zolang je datamodel maar goed zit zeg ik maar.

maar goed, ff snel:

een heel basic got-achtig forum heeft zeg maar 2 db-tables:

• topics
• messages

in de tabel topics staat dan oa het topic_id en de topic_naam.

in de tabel messages staat dan dus message_id, message_text EN nogmaals topic_id.

Dus als je een bepaald topic wil laten zien, dan zoek je in de tabel messages naar het gevraagde topic_id.

En als dat een grote tabel word moet je hem gaan indexeren om de snelheid op te voeren.

Astu :P

  • ruuds
  • Registratie: Maart 2001
  • Laatst online: 04-09 14:08
check http://www.roc-studenten.nl/forum/
is mijn forum bijna af moet alleen nog dat je berichten kunt bewerken en dat ie aangeeft welke berichten je wel/niet gelezen hebben (hoe doen ze dat hier op GoT?)

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 13:12
Zelf ook een forum geknutseld, beetje afgekeken van standaard fori van Tweakers.net en C!T en zo, maar ze lijken allemaal op elkaar. Mijn DB heeft 4 tabellen:

maincat
ID
Title

cat
ID
MainCatID
Title

topics
ID
CatID
Title

postings
ID
TopicID
Date
Time
Name
Text

Verschil tussen cat en maincat is hierarchisch: bijvoorbeeld hier op GoT valt Videoplanken en beeldkanonnen (cat) onder Harde Waren (maincat).

In cats en topics zijn dus alleen meest nodige dingen opgeslagen, in topic alle detail-info. A.h.v. deze info kan je genoeg doen wat ik nodig heb: categorie terughalen (via TopicID), datum/tijd laatste posting, enz..

Succes met je forum!

  • Engineer
  • Registratie: Juni 2001
  • Laatst online: 04-05 00:03

Engineer

Software

.

[ Voor 99% gewijzigd door Engineer op 13-10-2018 16:03 ]


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Op zondag 13 januari 2002 12:00 schreef Deruud het volgende:
check http://www.roc-studenten.nl/forum/
is mijn forum bijna af moet alleen nog dat je berichten kunt bewerken en dat ie aangeeft welke berichten je wel/niet gelezen hebben (hoe doen ze dat hier op GoT?)
GoT slaat de laatste keer dat je op Got bent geweest op, en geeft alle berichten na dat tijdstip een kleurtje.

Let wel op dat GoT niet alleen het tijdstip van de laatste pageview opslaat, maar het laatste tijdstip van een tijd geleden. Dus GoT heeft twee tijden die je van je opslaat:
• De laatste pageview
• De laatste sessie
Stel dat je nu weer op GoT komt, dan kijkt hij als eerste naar de laatste pageview. Is die pageview ouder dan een paar uur, dan wordt die laatste sessie-tijd de laatste pageview.

Sommige fora hebben alleen de laatste pageview, wat als gevolg heeft dat als je een forum hebt geopend alles als gelezen hebt gemarkeerd.

Ik hoop dat je er iets uit wijs kunt worden.

  • ruuds
  • Registratie: Maart 2001
  • Laatst online: 04-09 14:08
Op zondag 13 januari 2002 12:55 schreef elnino het volgende:
GoT slaat de laatste keer dat je op Got bent geweest op, en geeft alle berichten na dat tijdstip een kleurtje.
Dus de laatste keer dat je zegmaar een pagina opende van het forum?

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op zondag 13 januari 2002 12:55 schreef elnino het volgende:
Sommige fora hebben alleen de laatste pageview, wat als gevolg heeft dat als je een forum hebt geopend alles als gelezen hebt gemarkeerd.
Dat heb ik dus ook
en omdat mijn forum niet zoveel users heeft
is meestal alles altijd geel :'(

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt

Pagina: 1