[問題]刪文後總文章數不變

與 phpBB 2.0.x 相關主題。

版主: 版主管理群

athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

[問題]刪文後總文章數不變

文章 athlon »

os:win xp (p) sp-1
mysql 版本3.23.54-nt
phpbb2 版本2.0.4


問題:
帖子發出後有回應文章,刪除其中的回應文章,文章總數卻不會改變,導致頁數計算錯誤,而顯示"這個主題沒有回覆文章"


demo:
http://61.70.105.162/evil/viewforum.php?f=20
[入學通知]新會員簽到處 [ 沒有報到者?殺! ]

請求問題解決之道,謝謝
Mac
百戰天龍馬蓋先
百戰天龍馬蓋先
文章: 2590
註冊時間: 2003-02-02 02:28
來自: MacphpBBMOD
聯繫:

文章 Mac »

不知道到後台的"版面管理"使用重整對應資料有沒有用 :?:

~Mac
+ 關於 phpBB 使用問題請在版面發問,私人訊息提供其他不相干或是隱私的事情聯絡之用。

phpBB 官網 | 竹貓星球 | MacphpBBMOD | 我的服務
athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

文章 athlon »

ycl6 寫:不知道到後台的"版面管理"使用重整對應資料有沒有用 :?:

~Mac
很遺憾的
沒有作用...
athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

文章 athlon »

os:win xp (p) sp-1
mysql 版本3.23.54-nt
phpbb2 版本2.0.4


問題:
帖子發出後有回應文章,刪除其中的回應文章,文章總數卻不會改變,導致頁數計算錯誤,而顯示"這個主題沒有回覆文章"


那我想請求誰能教我從資料庫修正的方法好嗎?因為已經有幾篇loss到好幾頁了...希望能藉由資料庫的修改,將這個問題更正回來~(多謝前輩的教導,已經會了,不過從資料庫修正還是治標不治本ㄚ~)

請問...還是我文章發錯地方或列入黑名單了嗎?所以...才沒有人願意理我 :cry:
最後由 athlon 於 2003-06-10 16:29 編輯,總共編輯了 1 次。
athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

文章 athlon »

我發覺這個問題不止出現在文章的回覆數統計出現錯誤
就連版面的主題也會因為刪除的關係而導致最後面幾頁沒有主題
換言之,就是統計數字完全癱瘓了...
嗚~快半年了~都沒有人理我~

重新補上
●架設主機作業系統:Windows(Xp Pro
●快速架站程式:Appserv
●免費空間連結:掛站中...
●您的上網方式:giga 1.5m / 38xk ADSL
●您安裝的程式:論壇架設寶典中的...
●您的 phpBB2 版本:phpBB (2.0.4)。
●錯誤代碼:沒有錯誤代碼
●錯誤狀態:
I.版面的文章數計算錯誤
第一頁...正常沒有問題
圖檔
但是後面幾頁卻是空的頁面...
圖檔
II.文章內回覆的總數計算錯誤
主題看起來及回覆數都無異,不過確實回覆的文章數卻遠小於文章後統計的2836
圖檔
導致後面幾頁都變成這個情形\r
圖檔
Mac
百戰天龍馬蓋先
百戰天龍馬蓋先
文章: 2590
註冊時間: 2003-02-02 02:28
來自: MacphpBBMOD
聯繫:

文章 Mac »

不是沒人理你,是也沒有人知道解決辦法

~Mac
+ 關於 phpBB 使用問題請在版面發問,私人訊息提供其他不相干或是隱私的事情聯絡之用。

phpBB 官網 | 竹貓星球 | MacphpBBMOD | 我的服務
athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

文章 athlon »

喔~原來如此~
感謝感謝~
幻狼神威
竹貓忠實會員
竹貓忠實會員
文章: 389
註冊時間: 2002-10-29 01:54
來自: 薔薇幻境
聯繫:

文章 幻狼神威 »

這算是小bug一個,就我翻過的東西到現在,目前真的是無解.......

那和刪文無關,而是剛好到一頁塞滿,就會多出來一頁....... ┐(▔▽▔)┌
[必看] phpBB 架站討論區發文規則與發問格式
學好phpBB的訣竅:
 1. 善用竹貓星球的搜尋功能,可以找到所有相似並解決的主題。
 2. 簡單清楚的把你的問題打在主題上,讓懂的人一看就能了解。
 3. 依照發文格式發文,能幫助大家比較容易的找出問題在那裡。
 4. 一時沒有回應不表示沒人理你,大家都需要一點思考的時間。
 5. 解決問題後請修改第一篇主題,並感謝曾經幫過你的高手們。


切記:PM並不能解決問題,版上發問可以集大家的意見,您的問題可能更快的被解決.....
   ↑蘿莉不在此限.......XD"
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

這樣的情形,我之前也遇過

前一陣子,我租用的虛擬主機的SMTP伺服器出了問題
網友發送文章後,系統並不會顯示成功發送文章的訊息,而是顯示Failed sending email一類的錯誤訊息....
(為什麼發送文章會跟SMTP扯上關係,我並不清楚
我只確定,我並沒有要求論壇寄送回覆通知的e-mail給我喲!!
結果發送文章時,還是會出現Failed sending email的錯誤訊息)
文章是發送出去了,但是該主題在版面上顯示的回覆數並沒有增加
也就是說,該主題在版面上顯示的回覆數,和實際的回覆數,是有出入的
於是系統在產生頁數的時候,就有可能誤判\r
所以當你點選最後一頁時,系統會顯示沒有回覆文章

除了SMTP有問題
論壇操作不當,或是伺服器當機,也都有可能造成這樣的怪現象

小弟的解決方法,就是自己到phpMyAdmin,手動將回覆數修正\r
好在後來換了虛擬主機後,SMTP就不曾再出問題了
網友發送文章時,系統也都能正確的將回覆數回傳到資料庫
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

文章 athlon »

我試過我修復完畢後...再次砍文的話\r
還是會再次造成文張計數錯誤...
~T___T~
好辛酸ㄚ~
天地一沙鷗
星球公民
星球公民
文章: 36
註冊時間: 2003-06-10 19:32
來自: 沙鷗飛處
聯繫:

文章 天地一沙鷗 »

phhBB 有個蠻爛的設計,就是他的 message_die 沒做 database rollback 的動作,這情況下 database update 比如 post 一個文張到一半有錯誤,時常文張有進 database 但文張計數沒更新。

這個會不會也是類似問題。
你們看那天上的飛鳥、也不種、也不收、也不積蓄在倉裡、你們的天父尚且養活他.你們不比飛鳥貴重得多麼。
athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

文章 athlon »

我想應該不是...因為db也沒變...
關於您提的那個問題我倒是沒有注意過
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

athlon:

我論壇也遇到這樣的情況,回覆數跟實際文章數不一樣\r
導致分頁不正常
但是我在測試刪文等等都很正常,數字會減少

不知道是什麼原因造成我數量不對..
水色論壇 http://www.et99.net
簡德賢分享
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

剛剛花了些時間看了一下
我猜發生原因大概是這樣\r

代碼: 選擇全部

	$sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id";
	if (!$db->sql_query($sql, BEGIN_TRANSACTION))
	{
		message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
	}

	if ($mode != 'editpost')
	{
		$post_id = $db->sql_nextid();
	}

	$sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message',  bbcode_uid = '$bbcode_uid', post_subject = '$post_subject' WHERE post_id = $post_id";
	if (!$db->sql_query($sql))
	{
		message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
	}
就像天地一沙鷗說的一樣\r
當用戶發表文章時在POSTS_TABLE塞了資料進去\r
但是在POSTS_TEXT_TABLE出錯沒塞入資料,或者塞到一半主機shutdownd等等其他原因..

變成在後端重整也沒辦法更新文章數(因為是根據POSTS_TABLE來判斷文章數量)

解決方法可以用我下面方式

編輯includes/functions_admin.php

find

代碼: 選擇全部

	  	case 'forum':
在下面加入\r

代碼: 選擇全部

			$del_id="";
			$sql = "SELECT post_id,topic_id FROM " . POSTS_TABLE . "  
				WHERE forum_id = $id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not get post ID', '', __LINE__, __FILE__, $sql);
			}
			while( $row = $db->sql_fetchrow($result) )
			{
				$sql = "SELECT post_id 	FROM " . POSTS_TEXT_TABLE . "  
					WHERE post_id = $row[post_id]";
				if ( !($result1 = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, "Could not get post_txt ID", '', __LINE__, __FILE__, $sql);
				}
				if (!$row1 = $db->sql_fetchrow($result1))
				{
					$del_id.=",".$row[post_id];
				}
			}
			$del_id=substr($del_id,1,strlen($del_id));
			$sql="delete from ".POSTS_TABLE." where post_id in(".$del_id.")";
			$db->sql_query($sql);
			unset($del_id);

修改完畢save / close

然後進入管理介面,在版面管理的地方在做一次"重整對應資料"!!
就可以把實際文章數跟統計數字修正完畢\r

ps.
這段程式碼會把你所選擇的版面,重頭到尾check過一次\r
假如你的版面有1萬篇文章,會跑1萬次迴圈..

所以在使用時請自行評估
pcsony
星球公民
星球公民
文章: 36
註冊時間: 2002-07-30 14:42

文章 pcsony »

:lol:

非常感謝 ETERNAL 兄的熱情分享方法

個人論壇長久無法解決的問題終於解決\r

在此致上個人最大的敬意與謝意!
最後由 pcsony 於 2006-10-15 18:20 編輯,總共編輯了 1 次。
回覆文章

回到「2.0」