[英]How to check if record deleted was last record left MySQL PHP
因此,我在我的網站上有一個評論版塊(博客樣式),因此每個帖子都有一個評論版塊。
我有一個表格“ posts”字段(post_id,isComment,title,timestamp,post等)
isComment是一個布爾值,表示帖子中是否有任何評論。 如果為0,則不搜索或不顯示任何注釋;如果為1,則在表注釋中查詢該帖子的注釋。
還有一個表“ comments”,其中包含字段(comment_id,post_id,已創建等)。
post_id是評論對應的帖子。
當前,刪除評論的查詢是:
"REMOVE FROM comments WHERE comment_id = '$id';"
我想知道的是,是否有辦法找出刪除的評論是否是與該帖子相對應的最后一條評論? 如果是這樣,則可以將該帖子的isComment值更改為0。
每次刪除評論后,您都可以觸發查詢以查找該帖子的評論數。
就像是。
select count(*) from comments where post_id = (select post_id from comments where comment_id='$id')
//您可以根據需要優化查詢。
查詢給定帖子的任何評論。 如果未返回任何行,請使用另一個查詢重置isComment標志。 (使用數據庫來使用數據庫的功能來計算行數並采取相應措施可能是一種更有效的方法。)
有幾種方法可以解決此問題。 首先,您可以算出剩下的數量並采取相應措施:
SELECT count(*) FROM comments WHERE post_id = '$id'
或者,如果刪除注釋時已經具有注釋計數,則可以調用mysql_affected_rows(...)
或mysqli_affected_rows(...)
來確定是否實際刪除了多少個對象。
另外,我相信您的原始查詢,我相信您的語法應為DELETE而不是REMOVE?
DELETE FROM comments WHERE comment_id = '$id';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.