PHPCMS删除文章后数据库中仍有删除文章中的关键词解决办法
博主发现之前发布的文章删除了之后,数据库的表字段中还是保存的有之前的文章中的关键词的,也就是删除文章并不能连带之前发布的文章的关键词一起删除,博主经过分析明白了,原来是程序在发布文章的那一刻文章就自动保存在了数据库的表中了,或者修改文章后,会重复在v9_keyword_data插入数据。那么该如何解决这个问题呢?
办法如下:
1、找到/phpcms/modules/content/fields/keyword/updata.inc.php中找到以下代码:
$keyword_data_db->insert(array('tagid'=>$tagid, 'siteid'=>$siteid, 'contentid'=>$contentid));
修改为:
if (!$keyword_data_db->get_one(array('tagid'=>$tagid, 'siteid'=>$siteid, 'contentid'=>$contentid))) { $keyword_data_db->insert(array('tagid'=>$tagid, 'siteid'=>$siteid, 'contentid'=>$contentid)); }
2、找到/phpcms/modules/content/content.php文件;搜索public function delete();在删除内容下面添加一下代码;
//删除关键字 $this->keyword_db = pc_base::load_model('keyword_model'); $this->keyword_data_db = pc_base::load_model('keyword_data_model'); $keyword_temp=$this->keyword_data_db->listinfo(array('contentid'=>$id.'-'.$modelid)); $this->keyword_data_db->delete(array('contentid'=>$id.'-'.$modelid)); foreach($keyword_temp as $one){ $same_keyword=$this->keyword_data_db->listinfo(array('tagid'=>$one[tagid])); if(empty($same_keyword)){ $this->keyword_db->delete(array('id'=>$one[tagid])); } }
3、替换对应的文件,进入后台更新下网站缓存就可以了。
本文出自:琅枫个人博客。如需转载请注明出处!
本文出处:"https://www.phpfeng.cn/learn/php/130.html"
如果您觉得文章对你有帮助,可以进行打赏。
打赏多少,您高兴就行,谢谢您对琅枫博客的支持! ~(@^_^@)~
微信打赏

支付宝打赏
