問題外掛:TOP5 for Integrated Toplist
參考連結:TOP5 for Integrated Toplist
使用版本:phpBB 2.0.19
網站位置:http://md.ntit.edu.tw/phpbbmd
狀況描述:請各位先看這張圖
目前我想做的是讓TOP5能不顯示一些特定的版面
參考了這篇文章後進行修改出現了圖片中的錯誤
由於在下對SQL的部份並不了解,希望能有大大幫忙解題
備註:
我進行更改的TOP5原始碼在這,這是目前正常使用的(沒更改)
[問題]關於TOP5限制版面的問題(以解決)
版主: 版主管理群
[問題]關於TOP5限制版面的問題(以解決)
最後由 紅蓮默示錄 於 2006-03-25 21:17 編輯,總共編輯了 1 次。
(汗...) 先在這建議你一下用 Integrated Toplist 1.0.3
(沒什麼差,只是這樣,才能正名)
找到
在
中間放入一句
AND f.forum_id != '(例如1)' 這句就是你想要不給人看的版面
會像
有二個就
(沒什麼差,只是這樣,才能正名)
代碼: 選擇全部
<?php
/***************************************************************************
* toplist.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* MOD modified by brentsu, MOD by bu, based on OOHOO's ADV-TOP5
*
***************************************************************************/
?>
代碼: 選擇全部
// query
$sql = "SELECT topic_id, topic_title, topic_poster, topic_views, topic_replies, topic_last_post_id, f.forum_id, forum_name
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f
WHERE t.forum_id = f.forum_id
AND topic_moved_id = '0'
$auth_forums_top5
ORDER BY $sortby DESC LIMIT 0, $MAX_TOPICS";
代碼: 選擇全部
AND topic_moved_id = '0'
$auth_forums_top5
AND f.forum_id != '(例如1)' 這句就是你想要不給人看的版面
會像
代碼: 選擇全部
AND topic_moved_id = '0'
AND f.forum_id != '(例如1)'
$auth_forums_top5
代碼: 選擇全部
AND topic_moved_id = '0'
AND f.forum_id != '(例如1)'
AND f.forum_id != '(例如2)'
$auth_forums_top5
已經照上面的方式修改了,不會出現錯誤訊息,但是版面無法隱藏bu 寫:(汗...) 先在這建議你一下用 Integrated Toplist 1.0.3
(沒什麼差,只是這樣,才能正名)
找到代碼: 選擇全部
<?php /*************************************************************************** * toplist.php * ------------------- * begin : Saturday, Feb 13, 2001 * copyright : (C) 2001 The phpBB Group * email : support@phpbb.com * * MOD modified by brentsu, MOD by bu, based on OOHOO's ADV-TOP5 * ***************************************************************************/ ?>
在代碼: 選擇全部
// query $sql = "SELECT topic_id, topic_title, topic_poster, topic_views, topic_replies, topic_last_post_id, f.forum_id, forum_name FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f WHERE t.forum_id = f.forum_id AND topic_moved_id = '0' $auth_forums_top5 ORDER BY $sortby DESC LIMIT 0, $MAX_TOPICS";
中間放入一句代碼: 選擇全部
AND topic_moved_id = '0' $auth_forums_top5
AND f.forum_id != '(例如1)' 這句就是你想要不給人看的版面
會像有二個就代碼: 選擇全部
AND topic_moved_id = '0' AND f.forum_id != '(例如1)' $auth_forums_top5
代碼: 選擇全部
AND topic_moved_id = '0' AND f.forum_id != '(例如1)' AND f.forum_id != '(例如2)' $auth_forums_top5
依然會留在那邊,請大大在幫忙解決一下@_@"
心靈捕手 寫:To 紅蓮默示錄:
建議您:
貼出修改後的該段程式碼.
真抱歉,我沒想到要貼出來Orz// query
$sql = "SELECT topic_id, topic_title, topic_poster, topic_views, topic_replies, topic_last_post_id, f.forum_id, forum_name
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f
WHERE t.forum_id = f.forum_id
AND topic_moved_id = '0'
AND f.forum_id != '+ 管理員討論專區'
$auth_forums_top5
ORDER BY $sortby DESC LIMIT 0, $MAX_TOPICS";
您的語法有誤!紅蓮默示錄 寫:心靈捕手 寫:To 紅蓮默示錄:
建議您:
貼出修改後的該段程式碼.真抱歉,我沒想到要貼出來Orz// query
$sql = "SELECT topic_id, topic_title, topic_poster, topic_views, topic_replies, topic_last_post_id, f.forum_id, forum_name
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f
WHERE t.forum_id = f.forum_id
AND topic_moved_id = '0'
AND f.forum_id != '+ 管理員討論專區'
$auth_forums_top5
ORDER BY $sortby DESC LIMIT 0, $MAX_TOPICS";
'+ 管理員討論專區' 是指 'forum_name', 也就是 '版面名稱'.
我並不知道您的論壇 '+ 管理員討論專區' 的 'forum_id' 是多少?
以您的論壇, 假使要將其他版面設定為例外的話,
'好站介紹' 的 'forum_id' = '27'
'優良讀物' 的 'forum_id' = '39'
'意見反應' 的 'forum_id' = '29'
參考上面 bu 大大回文, 可以試試下列語法:
代碼: 選擇全部
// query
$sql = "SELECT topic_id, topic_title, topic_poster, topic_views, topic_replies, topic_last_post_id, f.forum_id, forum_name
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f
WHERE t.forum_id = f.forum_id
AND topic_moved_id = '0'
AND f.forum_id != '27'
AND f.forum_id != '39'
AND f.forum_id != '29'
$auth_forums_top5
ORDER BY $sortby DESC LIMIT 0, $MAX_TOPICS";
// 設定例外版面 id (以逗號分隔)
$except_forum_id = '27,39,29';
// query
$sql = "SELECT topic_id, topic_title, topic_poster, topic_views, topic_replies, topic_last_post_id, f.forum_id, forum_name
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f
WHERE t.forum_id = f.forum_id
AND topic_moved_id = '0'
AND t.forum_id NOT IN (" . $except_forum_id . ")
$auth_forums_top5
ORDER BY $sortby DESC LIMIT 0, $MAX_TOPICS";