2012-06-12 183 views
2

因此,我在我的網站(博客樣式)上有一條評論部分,所以每篇文章都有評論部分。如何檢查刪除的記錄是否是最後一條記錄MySQL PHP

我有一個表「崗位」字段(POST_ID,isComment,標題,時間戳,後等)

isComment是指如果該柱的任何評論的布爾值。如果爲0,則不搜索任何評論或顯示,如果爲1,則查詢表格評論以查看該帖子的評論。

還有一個表「意見」其中有場(COMMENT_ID,POST_ID,創建等)

的POST_ID是註釋對應於樁。

目前查詢刪除評論是:

"REMOVE FROM comments WHERE comment_id = '$id';" 

我想知道,如果有什麼辦法找出如果評論被刪除對應於該職位的最後評論? 如果是這樣,那麼我會將該帖子的isComment值更改爲0.

回答

1

在每次刪除評論後,您都可以觸發查詢以查找該帖子的評論數量。

有點像。

select count(*) from comments where post_id = (select post_id from comments where comment_id='$id') 

//如果u想,你可以優化查詢。

+0

是的,我想盡量減少我發送的查詢量,這似乎在那裏做竅門 - 謝謝! – 8guadalupe8

0

查詢給定帖子的任何評論。如果沒有行返回,請用另一個查詢重置您的isComment標誌。 (可能有更高效的方法來使用數據庫來使用它的函數來計算行數並採取相應的行動。)

+0

這就是我正在做的,我更想知道是否有更有效的方法,但無論如何,謝謝! – 8guadalupe8

0

有幾種方法可以解決這個問題。首先,你可以只統計有多少被留下,並採取相應的行動:

SELECT count(*) FROM comments WHERE post_id = '$id' 

或者,如果你刪除註釋時,已經有評論數,你可以打電話mysql_affected_rows(...)mysqli_affected_rows(...)以確定如果事情實際上已被刪除,以及如何許多。

另外,我相信你的原始查詢,我相信你的語法應該是DELETE而不是REMOVE?

DELETE FROM comments WHERE comment_id = '$id'; 
+0

是的我的壞我輸入刪除!謝謝! – 8guadalupe8