php - Codeigniter,mysql,select_max并在插入另一条记录之前添加1

标签 php mysql codeigniter

当我向数据库表中插入一条新记录时,我需要获取名为 el_order 的列的现有先前值,添加 +1,然后使用新的 el_order+1 在该列中插入具有该值的新记录.

我无法使用自动增量,因为我需要对该列执行一些操作(重新排序、移动等)并且必须将其用作整数。

   ID      name    el_order
   1         1         1
   21       bla        2
   2        2          3
--NEW--   --NEW--     3+1 (NEW)

我添加了一条新记录,需要将其以 3+1 插入到其 el_order 列中...

我已经尝试过这个,但没有运气:

$this->db->select_max('el_order');
$res = $this->db->get('elem_diccio');

$eldi_key = url_title($this->input->post('id'), 'underscore', TRUE);

$el_order = $res+1;

$datos = array(
    'ID' => $id,
    'el_order' => $el_order,
     'name' => $this->input->post('name'),
 );

 $this->db->insert('elem_diccio', $datos);

最佳答案

就像这样

 $this->db->select_max('el_order');
 $res = $this->db->get('elem_diccio')->row()->el_order;

 $eldi_key = url_title($this->input->post('id'), 'underscore', TRUE);

 $el_order = $res+1;

$datos = array(
  'ID' => $id,
  'el_order' => $el_order,
  'name' => $this->input->post('name'),
);

$this->db->insert('elem_diccio', $datos);

关于php - Codeigniter,mysql,select_max并在插入另一条记录之前添加1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51670349/

相关文章:

php - 在 PHP 中检测 HTTPS 请求

php - Laravel 代客总是询问密码

mysql - 如何在谷歌地图标记上显示信息框

php - 如何在CodeIgniter Datamapper中使用cascade_delete配置选项

mysql - 在网格中显示 JSON 输出?

php - 在 php 形式中使用引号和撇号

php - Laravel Websockets 仪表板基本路径与子文件夹不起作用

php - 批量插入 mysql - 我可以使用忽略子句吗?有没有限制。批量插入的记录?

php - 从 MySQL 生成的复选框列表生成 "checked"复选框的问题

php - 从数据库中按月和年选择日期