ND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[1]')"; $find_sql = "SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[0]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[1]') ORDER BY tid DESC LIMIT $start, $limit"; } elseif($n == 3) { $count_sql = "SELECT COUNT(tid) num FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[0]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[1]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[2]'))"; $find_sql = "SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[0]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[1]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[2]')) ORDER BY tid DESC LIMIT $start, $limit"; } elseif($n == 4) { $count_sql = "SELECT COUNT(tid) num FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[0]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[1]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[2]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[3]'))) ORDER BY tid DESC LIMIT $start, $limit"; $find_sql = "SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[0]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[1]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[2]' AND tid IN( SELECT tid FROM {$tablepre}tag_thread WHERE tagid='$tagidarr[3]'))) ORDER BY tid DESC LIMIT $start, $limit"; } else { $thread_list_from_default = 1; } } if($thread_list_from_default == 0 && $find_sql) { // 缓存结果集,不然查询太耗费资源。 // 针对大站缓存,小站就硬查。 if($runtime['threads'] > 1000000) { $count_sql_md5 = md5($count_sql); $find_sql_md5 = md5($find_sql); $n = cache_get($count_sql_md5); if($n === NULL || DEBUG) { $arr = db_sql_find_one($count_sql); $n = $arr['num']; cache_set($count_sql_md5, $n, 30); } $tids = cache_get($find_sql_md5); if($n === NULL || DEBUG) { $tidlist = db_sql_find($find_sql); $tids = arrlist_values($tidlist, 'tid'); cache_set($find_sql_md5, $tids, 30); } } else { $arr = db_sql_find_one($count_sql); $n = $arr['num']; $tidlist = db_sql_find($find_sql); $tids = arrlist_values($tidlist, 'tid'); unset($arr, $tidlist); } $extra['tagids'] = "{$tagid1}_{$tagid2}_{$tagid3}_{$tagid4}"; $pagination = pagination(url("forum-$fid-{page}",$extra), $n, $page, $pagesize); //$pagination = pagination(url("forum-$fid-{page}", array('tagids'=>"{$tagid1}_{$tagid2}_{$tagid3}_{$tagid4}")), $n, $page, $pagesize); $threadlist = thread_find_by_tids($tids); $toplist = array(); } if($thread_list_from_default) { $pagination = pagination(url("forum-$fid-{page}", $extra), $forum['threads'], $page, $pagesize); $threadlist = thread_find_by_fid($fid, $page, $pagesize, $orderby); } $header['title'] = $forum['seo_title'] ? $forum['seo_title'] : $forum['name'].'-'.$conf['sitename']; $header['mobile_title'] = $forum['name']; $header['mobile_link'] = url("forum-$fid"); $header['keywords'] = ''; $header['description'] = $forum['brief']; $_SESSION['fid'] = $fid; include _include(APP_PATH.'plugin/xiuno_top__list_block/htm/forum.htm');exit; include _include(APP_PATH.'view/htm/forum.htm'); } ?>