|
|
首先列出有关tag记录的表
pw_tmsgs 表中有 `tags` varchar(100) NOT NULL DEFAULT ''
pw_tags表
CREATE TABLE nw_tags (
tagid mediumint(8) unsigned NOT NULL auto_increment,
tagname varchar(15) NOT NULL default '',
num mediumint(8) NOT NULL default '0',
ifhot tinyINT(1) NOT NULL default '0',
PRIMARY KEY(tagid),
KEY idx_ifhot_num (ifhot,num),
KEY idx_tagname (tagname)
) TYPE=MyISAM;
pw_tagdata表
CREATE TABLE nw_tagdata (
tagid mediumint(8) NOT NULL default '0',
tid INT(10) unsigned NOT NULL default '0',
KEY idx_tagid (tagid),
KEY idx_tid(tid)
) TYPE=MyISAM;
阅读页中相关话题调用文件 read.php
处理代码如下:
list($tagdb,$tpc_tag) = explode("\t",$read['tags']);
$tagdbs = explode(' ',$tagdb);
if ($tagdbs) {
$query = $db->query("SELECT tagid FROM nw_tags WHERE tagname IN(" . S::sqlImplode($tagdbs) . ')');
while ($rt = $db->fetch_array($query)) {
$tagid[] = $rt['tagid'];
}
}
if ($tagid) {
$query = $db->query("SELECT t.tid,t.subject FROM nw_tagdata tg LEFT JOIN nw_threads t USING(tid) $sql AND tg.tagid IN(" . S::sqlImplode($tagid) . ") GROUP BY tid ORDER BY postdate DESC ".S::sqlLimit(0,$forumset['relatednums']));
while ($rt = $db->fetch_array($query)) {
$rt['title'] = $rt['subject'];
$rt['url'] = "read.php?tid=".$rt['tid'];
unset($rt['subject']);
unset($rt['tid']);
$relatedb[] = $rt;
}
} |
|