Forum - Post Read / Unread

Gestart doorOne2xs7 reacties23 weergaven

8 berichten · pagina 1 van 1

One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Hi,

Ik ben bezig met de ontwikkeling van een forum, hier heb ik nu een werkend gelezen / ongelezen systeem in verwerkt, echter stuit ik op een probleem als ik wil kijken welke posts er al gelezen zijn en welke niet..

Hoe kan ik dit het beste aanpakken?
Elke keer als je een topic bekijkt alle posts-ids in de database zetten lijkt mij nogal omslachtig, dan heb je binnen no-time een database met miljoenen items.
En als ik eerst ga kijken of het al bestaat en dan update, dan kost mij dat per post een extra query..

Wat is handig om te doen, en hoe kan ik dit qua optimalisatie en logistiek het beste aanpakken?

Groet,
Jesse
0
Berichten
1.871
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Misschien bij elke keer dat de gebruiker het topic leest een timestamp opslaan en dan kijken of er in dat topic posts zijn die gepost zijn na die opgeslagen timestamp?

Weet niet of het wat is?
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Lennard had hier ergens een heel uitgebreide post over gemaakt. Misschien dat iemand die kan terugvinden?

Je hebt iig 3 tabellen nodig:
topic_views met topic_id, user_id en timestamp
cata_readed_times met cata_id, user_id en timestamp
forum_readed_times met user_id en timestamp

Dan kan je een rij toevoegen/wijzigen in topic_views als iemand een topic heeft gezien
Dan kan je een rij toevoegen/wijzigen in cata_readed_times als iemand een categorie als gelezen heeft gemerkt
Dan kan je een rij toevoegen/wijzigen in forum_readed_times als iemand het forum als gelezen heeft gemerkt

Dan doe je voor elke categoriepagine (met alle topics) 1 keer laatste resultaat van forum_readed_times van de gebruiker en 1 keer laatste resultaat van cata_readed_times van de gebruiker uitlezen. En per topic ook. Dan kijk je per topic of de timestamp later was als de laatste keer timestamp topic_views, cata_readed_times of forum_readed_times.
0
One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Antonn schreef:
Lennard had hier ergens een heel uitgebreide post over gemaakt. Misschien dat iemand die kan terugvinden?

Je hebt iig 3 tabellen nodig:
topic_views met topic_id, user_id en timestamp
cata_readed_times met cata_id, user_id en timestamp
forum_readed_times met user_id en timestamp

Dan kan je een rij toevoegen/wijzigen in topic_views als iemand een topic heeft gezien
Dan kan je een rij toevoegen/wijzigen in cata_readed_times als iemand een categorie als gelezen heeft gemerkt
Dan kan je een rij toevoegen/wijzigen in forum_readed_times als iemand het forum als gelezen heeft gemerkt

Dan doe je voor elke categoriepagine (met alle topics) 1 keer laatste resultaat van forum_readed_times van de gebruiker en 1 keer laatste resultaat van cata_readed_times van de gebruiker uitlezen. En per topic ook. Dan kijk je per topic of de timestamp later was als de laatste keer timestamp topic_views, cata_readed_times of forum_readed_times.
Tnx voor je bericht..
Die post had ik idd gevonden en ook aan gehouden, alleen daarin stond niet uitgelegd hoe je het met posts moet doen..

Maar het werkt nu smile
db.forum_posts.find(query).sort({ id: 1 }).exec(function(err, all_posts) {
                                var all_post_i = 0;
                                all_posts.forEach(function(all_post) {
                                    all_post_i++;
                                    if(all_post.id == new_post.id) {
                                        var page = Math.ceil(all_post_i / 15);
                                        res.redirect(/topic/ + topic.id + / + topic.slug + / + page + # + all_post_i);
                                    }
                                });
                            });
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Xjessex schreef:
Eerdere citaten tonen
Antonn schreef:
Lennard had hier ergens een heel uitgebreide post over gemaakt. Misschien dat iemand die kan terugvinden?
Je hebt iig 3 tabellen nodig:
topic_views met topic_id, user_id en timestamp
cata_readed_times met cata_id, user_id en timestamp
forum_readed_times met user_id en timestamp

Dan kan je een rij toevoegen/wijzigen in topic_views als iemand een topic heeft gezien
Dan kan je een rij toevoegen/wijzigen in cata_readed_times als iemand een categorie als gelezen heeft gemerkt
Dan kan je een rij toevoegen/wijzigen in forum_readed_times als iemand het forum als gelezen heeft gemerkt

Dan doe je voor elke categoriepagine (met alle topics) 1 keer laatste resultaat van forum_readed_times van de gebruiker en 1 keer laatste resultaat van cata_readed_times van de gebruiker uitlezen. En per topic ook. Dan kijk je per topic of de timestamp later was als de laatste keer timestamp topic_views, cata_readed_times of forum_readed_times.

Tnx voor je bericht..
Die post had ik idd gevonden en ook aan gehouden, alleen daarin stond niet uitgelegd hoe je het met posts moet doen..

Maar het werkt nu smile
db.forum_posts.find(query).sort({ id: 1 }).exec(function(err, all_posts) {
                                var all_post_i = 0;
                                all_posts.forEach(function(all_post) {
                                    all_post_i++;
                                    if(all_post.id == new_post.id) {
                                        var page = Math.ceil(all_post_i / 15);
                                        res.redirect(/topic/ + topic.id + / + topic.slug + / + page + # + all_post_i);
                                    }
                                });
                            });

nodeJS neem ik aan?
0
One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
jep.
0
Berichten
1.871
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Antonn schreef:
Lennard had hier ergens een heel uitgebreide post over gemaakt. Misschien dat iemand die kan terugvinden?
Deze post misschien?

http://www.one2xs.com/forum/postredir?pid=25089
0
One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Nielsjojo schreef:
Eerdere citaten tonen
Antonn schreef:
Lennard had hier ergens een heel uitgebreide post over gemaakt. Misschien dat iemand die kan terugvinden?
Deze post misschien?

http://www.one2xs.com/forum/postredir?pid=25089
yes, thats the one.. Had ik net ook voor me.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren