Zoals jullie weten: als je in een forum alles hebt gelezen, dan word het icoontje voor het gelezen forum anders.
Ik heb dat op het moment wel gerealiseerd met de volgende code:
Zoals je ziet haalt hij eerst alle topics uit de database op, en kijkt daarna voor elk of het gelezen is of niet.
Zolang er niet zoveel topics zijn gaat dit goed, maar als er veel topics bestaan duurt dit een stuk langer, dus mijn vraag is: Maakt het dan echt zoveel uit, zo ja, wat is dan een goede oplossing hiervoor om het op te lossen
Ik heb dat op het moment wel gerealiseerd met de volgende code:
PHP:
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
| $Database->query(" SELECT tid, fid, replies FROM ".$MasterBB->var['sql_prefix']."topics "); while($x = $Database->get_row()) { $topics[] = array( $x['fid'] => $x['tid']."|".$x['replies'] ); } foreach ($topics as $key => $value) { foreach ($value as $key => $value) { if(isset($HTTP_COOKIE_VARS["masterbb_topic_".$key]) && $HTTP_COOKIE_VARS["masterbb_topic_".$key] == $value) { $icon[$key][] = 1; } else { $icon[$key][] = 0; } } } foreach($icon as $key => $value) { if(in_array("0", $value)) { $forumicon[$key] = "[img]\"".$rootpath."images/".$MasterBB->memberinfo['skin']." /new-posts.jpg\"[/img]"; } else { $forumicon[$key] = "[img]\"".$rootpath."images/".$MasterBB->memberinfo['skin']." /no-new-posts.jpg\"[/img]"; } } return $forumicon; |
Zoals je ziet haalt hij eerst alle topics uit de database op, en kijkt daarna voor elk of het gelezen is of niet.
Zolang er niet zoveel topics zijn gaat dit goed, maar als er veel topics bestaan duurt dit een stuk langer, dus mijn vraag is: Maakt het dan echt zoveel uit, zo ja, wat is dan een goede oplossing hiervoor om het op te lossen