[英]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)
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.