如何在CI 3的插入中使用自动增量字段

时间:2015-10-29 05:27:16

标签: php codeigniter

我尝试将数据插入CI 3中具有以下字段的表: enter image description here

pageid是自动增量,我在模型中编写代码:

 $data = array(
            'title'=>$title,
            'description'=>$des,
            'url'=>'page/view/'.pageid
        );
        $this->db->insert('page',$data);

问题是pageid未知为字段名称。我该怎么办,因为我想将pageid连接到url?

6 个答案:

答案 0 :(得分:1)

你需要两个查询

1)您需要先插入title and description并从数据库中获取最后一页ID

$data = array(
    'title' => $title,
    'description' => $des
);

$this->db->insert('page', $data);
$page_id = $this->db->insert_id();// get last pageid

2)更新url

$data = array(
'url' => 'page/view/'.$page_id
);
$this->db->where('pageid'$page_id);// update with page id
$this->db->update('page', $data);

答案 1 :(得分:1)

  

确定,这样您就可以先插入所有数据,然后在插入后更新网址   字段。

$data = array(
    'title' => $title,
    'description' => $des,
     'url'=>'page/view/'
);

$this->db->insert('page', $data);
$page_id = $this->db->insert_id();
  

2)现在更新网址

$update= array(
'url' => 'page/view/'.$page_id
);
$this->db->where('page_id'$page_id);
$this->db->update('page', $update);

希望这会对你有所帮助

答案 2 :(得分:0)

Common&简易方法

转到

  1. PHPMYADMIN
  2. 选择您的database,然后转到page表。
  3. 点击顶部的structure
  4. 点击Change字段前面的id
  5. 然后出现 AI(自动增量)
  6. 复选框
  7. 选中并点击保存
  8. 如果使用代码(使用此功能)

    public function FunctionName()
    {
        $query = $this->db->query("SELECT id FROM pages ORDER BY id DESC LIMIT 1");
        $result = $query->result_array();
        $id = $result['id']; // or some times $result[0]['id']
    
        $data = array(
                'title'         => $title,
                'description'   => $des,
                'url'           => 'page/view/'.pageid,
                'id'            => $id
            );
        $this->db->insert('page',$data);
    }
    

答案 3 :(得分:0)

就这样做:

   $("input").each(function(){
         if($(this).data('assigned-id') ==183){
             $(this).closest('tr.eachitem').remove()
          }
    })

答案 4 :(得分:0)

您可以先从选择查询中获取最高的自动增量ID,然后使用插入查询插入新行。 例如

$id = $this->db->query("Select max(page_id) AS page_id from pages");
if($id->num_rows() > 0){
  $result = $id->result_array();
  $page_id = $result[0]['page_id'] +1;
}
// if table is empty
else{
  $page_id = 1;
} 
$data = array(
'title' => $title,
'description' => $des,
 'url'=>'page/view/'.$page_id );
$this->db->insert('page',$data);      

答案 5 :(得分:0)

enter image description here

请检查图像,以便在phpmyadmin中添加自动增量ID。