使用codeigniter从数据库中的字段中添加或减去值

时间:2014-09-08 21:29:39

标签: codeigniter

这是我在这里的发布,因为大多数人都要感谢所有人。

我在我的应用程序中使用codeigniter,我需要做的是以下我在我的数据库中有一个名称库存的字段,这个字段是整数值,当我进行销售时我需要做以下事情他将不得不减少我在php中销售此字段的数量将是这样的。

$sql = mysql_query( sprintf( “UPDATE profile_posts SET cliks = cliks + 1 WHERE id = %d” , $id ) ) or die( mysql_error( ) );

是否有一些codeigniter功能,我可以这样做,或者我必须为此做一个特定的SQL:

1 个答案:

答案 0 :(得分:0)

如果您使用Codeigniter处理MySQL数据库,可以使用 Codeigniter Active Record Class 简化代码:

$data = array(
           'title' => $title,
           'name' => $name,
           'date' => $date
        );

$this->db->where('id', $id);
$this->db->update('mytable', $data); 

// Produces:
// UPDATE mytable 
// SET title = '{$title}', name = '{$name}', date = '{$date}'
// WHERE id = $id

...但我强烈建议 Datamapper ORM ,它允许您将数据库表和条目作为对象进行操作。如果你只习惯纯粹的MySQL,这个概念可能看起来有点奇怪,但是一旦掌握了它,它就可以节省大量时间,而且你永远不必再手动编写完整的mySQL查询。

使用Datamapper,您可以像这样编写查询:

 $profile_post = new Profile_post(); // POINTS TO A MYSQL TABLE NAMED 'profile_posts'
 $profile_post->get_by_id($id); // GET THE PROFILE POST TO BE UPDATED
 $success = $profile_post->update('cliks', 'cliks+1');