简体   繁体   English

无法将最后插入的ID添加到自动填充表单字段

[英]Cannot get last inserted id to autofill form field

I'm am unable to get last inserted id with codeigniter and grocery crud and then pass them to autofill a field. 我无法使用codeigniter和杂货店crud最后插入id,然后将它们传递给autofill字段。 How can I do that? 我怎样才能做到这一点? I'm trying to solve with a function returning id and passing by the hidden field. 我正在尝试使用返回id并通过隐藏字段的函数来解决。

Post edited. 发表修改。 Everything in the right order I'm working. 我正在以正确的顺序做的一切。

Database (Involved tables: citas, entregas) 数据库(参与表格:citas,entregas)

Database 数据库

Scheme (Cita = date inserted): Scheme(Cita =插入日期):

Image from the process 来自该过程的图像

Model function 模型功能

 public function get_id(){                 

  //$this->db->query('SELECT MAX(cita) FROM citas;');
    $this->db->insert_id();
    $query = $this->db->get();

    echo $query;

    return $query->result();        

}

Controller(full controller function) 控制器(全控制器功能)

 public function entregas_lista($idCarga) {

        $crud = new grocery_CRUD();



        if ($this->Entregas_Model->get_rows($idCarga)) {
            $crud->unset_add();
        }


        $datos = array(
            'title' => "Solicitudes", 
            'username' => "Administrador"
        );

        $this->load->view('commons/header', $datos);



        $crud->set_language("spanish");
        $crud->set_theme('flexigrid');

        $crud->set_table('entregas');


        $crud->display_as('idCitas', 'Cita');
        $crud->display_as('idAcciones', 'Acción');
        $crud->display_as('idEstadoSolicitud', 'Estado Solicitud')
                ->display_as('horaCita', 'Hora Cita')
                ->display_as('numeroEntrega', 'Nº Entrega')
                ->display_as('Origen', 'Orígen')
                ->display_as('cargaPrevista', 'Carga Prevista')
                ->display_as('entregaPrevista', 'Entrega Prevista');



        $crud->where('entregas.idCitas =', $idCarga);

        $crud->display_as('idCarga', 'Nº Entrega');


        $crud->set_relation('idEstadoSolicitud', 'estadosolicitudes', 'nombreEstado');




        $query = $this->Entregas_Model->get_id();

        $crud->field_type('idCitas', 'hidden', $query);

        $output = $crud->render();

        $this->_example_output($output);


        $this->load->view('commons/footer');
    }

In order to use insert_id() in Codeigniter, you must Insert a new row in your DB. 要在insert_id()中使用insert_id() ,必须在数据库中插入新行。 Otherwise you have to select the MAX(id) from your table 否则,您必须从表中选择MAX(id)

Example of insert_id() : insert_id()示例:

$this->db->insert('test_table', $test_data);
return $this->db->insert_id();

Example of MAX(id) : MAX(id)示例:

$qry = $this->db->select('MAX(id)')
                ->from('test_table')
                ->get();
        if ($qry->num_rows() > 0)
            return $qry->row_array();
        return FALSE;

and you grab it in your Controller. 然后你在控制器中抓住它。

first $this->db->insert($table,$data); 第一个$this->db->insert($table,$data);

after $insert_id= $this->db->insert_id(); $insert_id= $this->db->insert_id();

echo $insert_id; echo $ insert_id;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM