Datuve :: Forums :: Arhīvs :: Topiku un forumu lasiishana..

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 82

Reģistrētie lietotāji online: 0

Viesi online: 82

Datuve.lv video
Top.LV

Topiku un forumu lasiishana..

Ievietoja: Johans2 @ 2008.01.15 16:18  

Taatad daudzi foruma softi iekljauj iespeeju redzeet vai forums un topiki ir lasiiti vai nav, bet kaa to uztaisiit?

Esmu skatijies sources, bet nesapratu, jo viss pa visaam malaam ir izsvaidiits :(

Vai kaads luudzu vienkaarshaa veidaa vareetu to paskaidrot?

Komentāri:

#1 LMN @ 2008.01.15 16:30

Basic ideja:

Topikam pievieno papildus parametru (lauku tabulā) - LastUpdate, kas tiek uzstādīts uz tekošo datumu, ja ir mainījies topika saturs, komentāri, whatever.

Lietotājam piesaista papildus parametru, kas glabā topika ID un tā pēdējās skatīšanas datumu. Šo var glabāt profilā (ja šāda iespēja ir realizēta) vai cepumos.

Ja skatīšanas datums ir pirms pēdējo izmaiņu datuma, forumu atzīmē kā nelasītu.

#2 Johans2 @ 2008.01.15 16:47

taa...

Par to.. papildus parametru piesaistiishanu lietotaajam

vai tieshaam taa buutu labaakaa ideja, ja forumu izmanto aptuveni 1 000 000 lietotaaji un forumaa vel ir ap 1 miljards topiku
un tad vel lietotaaji panjems - mark all topics as read :D

Vai kaads nets/pc spees pavilkt shaadu milzu datubaazi?
Vai phpBB dara taa..?

#3 LMN @ 2008.01.15 17:24

Tev ir jāseko līdzi tikai tiem topikiem, ko lietotājs kādreiz ir apmeklējis. Visi pārējie tiek atzīmēti kā nelasīti.
Kad pietrūkst vietas/paliek žēl, vienkārši notīri trackojamo topiku tabulu - lietotājam visi topiki rādīsies kā nelasīti.

Parādi kādu forumu, kur ir miljards topiku.

#4 Johans2 @ 2008.01.15 17:39

tuliit...

te buus labs foruma paraugs: http://www.gaiaonline.com/forum/

Taatad vai taa ir taisniiba, ja shis miljons lietotaaju atziimees shos miljards topikus kaa lasiitus buus baigi slikti? un vai tas noziimee, ka ljoti ljoti biezhi buus jaadzeesh shii tabula?? :(

Un plus, vel kaa ar db izmeeriem..? :(

un ja kas GaiaOnline izmanto phpBB :D

jaa un vel kljuudijos.. pat 11 milj memberi..

#5 bombtrack @ 2008.01.15 17:40

Hmm, bet kā tas reāli izskatīsies datu bāzē? Tabula ar kolonām 'lietotāja_id', 'topika_id', 'pēdējais_lasīšanas_laiks' ? It kā jau sanāk N:N attiecība...

#6 Johans2 @ 2008.01.15 17:45

nu cik es sapratu tad buutu taa...

Topic_id ....... Last_update_time

User_id ........ Topic_id  ......  Last_seen_date
    1     ........      1       ......    199494943
    1     ........      2       ......    234242423
...
 232322223   ..   3       ......    234234242

Bet vai tieshaam phpBB un visi paareejie paziistamie foruma softi taa dara..??

#7 LMN @ 2008.01.15 17:56

user:
 user_id
 ...

topic:
 topic_id
 last_update
 ...

visited_topics:
 user_id
 topic_id
 last_visited

Pareizi, ir N:N attiecība, tāpēc vajadzīga starptabula visited_topics. Nezinu kā dara "pazīstamie foruma soft", bet šis ir viens variants kā to panākt. Ierakstu skaitu tabulā visited_topics var ierobežot pēc user_id.

#8 Johans2 @ 2008.01.15 18:03

nju skaidrinjsh! :)
Taatad kad tas ir izdariits, kaa panaakt lai uzraada arii forumu vai tas ir lasiits vai nav?

Vnk kaa ieguut to vai visi topiki tajaa foruma ir lasiiti..?

#9 LMN @ 2008.01.15 18:10

topic tabulai pieliec lauku cat_id, kas ir FK uz kategoriju tabulu.

Ja ir kaut viens nelasīts topiks, tad arī forums (kategorija?) nav lasīts.

#10 Johans2 @ 2008.01.15 18:13

nu sapratu, bet kaa ar php&mysql panaakt, lai paraadai vai ir kaut viens nelasiits topiks.. to nevaru izgudrot :(

#11 .... @ 2008.01.15 18:16

#10 Pameklē tad kādu citu hobiju.

#12 LMN @ 2008.01.15 18:24

select topic_id
from visited_topics v, users u
where v.user_id=u.user_id
limit 1

Ja selekts atgriež ierakstu, topiks ar attiecīgo id nav lasīts. 20 Ls par manu aptuveno risinājumu.

Un jā, sāc ar vienkāršākām lietām, ja šeit nevari izdomāt konceptu, vai pameklē citu hobiju (dzirdēju, ka celtniekiem labi maksā =)

#13 Johans2 @ 2008.01.15 19:07

Sorry, bija tieshaam viegli.. 20 Ls gan aizsuutiit nevareeshu par shaadu risinaajumu :D

Nu liels paldies! :)

Vel kas..

Taatad, kad apskata kaads kaadu topiku, tajaa tabulaa ieraxtaas gan user_id, gan topic_id, gan arii tas last_visited, bet, vai katru reizi, kad lietotaajs apskatiis sho topiku visu laiku pievienosies shaads ieraxts vai man buus jaapaarbauda vai shaads ieraxts gadiijumaa jau nav un ja ir, tad tikai updatot vinju?

#14 LMN @ 2008.01.15 19:10

Ja ieraksts ar user_id un topic_id eksistē, tad protams, jāatjauno tas. Ja neeksistē (tracko jaunu topiku), tad jāpievieno ieraksts.

#15 Johans2 @ 2008.01.16 20:25

select topic_id
from visited_topics v, users u
where v.user_id=u.user_id
limit 1



Nu nez vai buus taa..  Kaa vins tur ko paarbaudiis vispaar?
vajag jau lai noskaidrot vai tas topiks ir konkreetajaa forumaa, ne?

un tad laikam vajadzees paarbaudiit vai topiku tabulaa ir tas topiku id un foruma ailee ir tas foruma id un tad vel laikam saliidzinaat ar to vai tajaa skates tabulaa arii taads pats ieraxts ir..

bet nezinu kaa to panaakt..

nesanaak :(