[問題] 關於推薦文章外掛,請教如何重新計算每位會員文章被推薦過的次數

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

[問題] 關於推薦文章外掛,請教如何重新計算每位會員文章被推薦過的次數

文章 依夢兒 »

問題外掛:Good Post (推薦文章)

參考連結:
推薦文章: http://phpbb-tw.net/phpbb/viewtopic.php?t=10117
推薦外掛-延伸功能: http://cpalm.org/viewtopic.php?f=25&t=6754
重新計算 viewforum.php 中顯示的主題被推薦次數: http://www.starryhometown.net/forum/vie ... =4029#4029

使用版本:phpBB 2.0.21

狀況描述:最近參考了動機不明在很久以前提供的「推薦外掛-延伸功能」,
讓版面(viewforum.php)中也能顯示每篇主題被推薦的次數,也能讓每位會員的個人資料區中顯示被人推薦的次數,
不過因為是中途才修改的,以前被人點過推薦的話,就無法被統計顯示在版面以及個人的資料頁面上(從修改過後被點才會被算進去)。

我花了一些時間找到這個: http://www.starryhometown.net/forum/vie ... =4029#4029 由倉木麻衣兄提供的解決方法,
經過跑完後,現在版面(viewforum.php)中顯示每篇主題被推薦的次數已經可以溯及既往,重新算過一次顯示完整了,
想請教一下有沒有人可以協助改寫倉木麻衣兄提供的程式(或是提供 SQL 語法),
讓個人資料頁面上的GP值也能如法砲製讓他跑一次,將之前文章被人點過推薦時的次數也重新計算一次呢?
麻煩各位賜教了,感謝。
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

Re: [問題] 關於推薦文章外掛,請教如何重新計算每位會員文章被推薦過的次數

文章 ~倉木麻衣~ »

試看看底下的程式碼
請存成php檔, 並以系統管理員的身份執行

代碼: 選擇全部

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_selects.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

if ($userdata['user_level'] != ADMIN)
{
	message_die(GENERAL_ERROR, "您沒有權限執行此項作業");
}

$sql = "SELECT p.poster_id, SUM(pt.goodpost) AS goodpost
		FROM " . POSTS_TABLE . " AS p, " . POSTS_TEXT_TABLE . " AS pt
		WHERE p.post_id = pt.post_id
		GROUP BY p.poster_id
		HAVING goodpost > 0";

if(!$result = $db->sql_query($sql))
{
	message_die(GENERAL_ERROR, "無法取得使用者的推薦數", '', __LINE__, __FILE__, $sql);
}

while( $row = $db->sql_fetchrow($result) )
{
	$sql = "UPDATE " . USERS_TABLE . " SET user_gp = " . $row['goodpost'] . " WHERE user_id = " . $row['poster_id'];
	if(!$result2 = $db->sql_query($sql))
	{
		message_die(GENERAL_ERROR, "無法更新文章推薦數", '', __LINE__, __FILE__, $sql);
	}
}
$db->sql_freeresult($result2);
$db->sql_freeresult($result);

message_die(GENERAL_MESSAGE, '<b><font color=#0000fF>更新完畢!</font></b>');
?>
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

Re: [問題] 關於推薦文章外掛,請教如何重新計算每位會員文章被推薦過的次數

文章 依夢兒 »

順利完成了,非常感謝。:)
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
主題已鎖定

回到「外掛問題討論」