stblog 删除使用 循环删除
stblog 批量删除 和 批量审核 都是使用循环语句删除的呀 ,这样频繁操作数据库,效率能好吗?/**
* 批量审核文章
*
* @access private
* @return void
*/
private function _approved()
{
$posts = $this->input->post('pid',TRUE);
$approved = 0;
if($posts && is_array($posts))
{
foreach($posts as $post)
{
if(empty($post))
{
continue;
}
$content = $this->posts_mdl->get_post_by_id('pid', $post);
if($content && $this->auth->exceed('editor', TRUE))
{
if($this->posts_mdl->update_post($post, array('status' => 'publish')))
{
$approved++;
}
}
$content = NULL;
}
}
($approved > 0)
?$this->session->set_flashdata('success', '成功审核文章')
:$this->session->set_flashdata('error', '没有文章被审核');
go_back();
} saturn一会给你解释:) 你很细心,能够考虑到这段代码所引发的效率问题。
但是,也需要考虑它会用在什么样的情况下。对于一个“通用”“博客”程序来说,我想,数据量应该不会大到因为这段代码影响效率的程度。
真到那一步了,可能通用程序也就帮不上你了,需要特别考虑很多提升效率的方式,你认为呢? 回复 3# saturn
我觉得可以组合成一个 SQL,一起提交比较好吧。 回复 4# Hex
嗯,有改进的余地。 嗯,看来 什么场合 用什么样解决思路 还是正确的,但是作为一个程序员应该考虑考虑用户体验和效率。呵呵 批量操作用IN()比较合适
1、将参数拼成:?pid=12,13,18,22
2、sql里:WHERE pid IN(12,13,18,22)
页:
[1]