我在生成此唯一ID时遇到问题。 这是表格如下: Table
以下是创建ID的规则:
我的控制器代码:
public function tambah()
{
$this->data['namaNegara'] = $this->registrasi_model->get_nama_negara();
$this->data['main_view'] = 'program/administrasi/registrasi_form';
$this->data['form_action'] = site_url('program/administrasi/registrasi/tambah');
// Data untuk form.
if (! $_POST) {
$registrasi = (object) $this->registrasi_model->default_value;
} else {
$registrasi = $this->input->post(null, true);
}
// Validasi.
if (! $this->registrasi_model->validate('form_rules')) {
$this->data['values'] = (object) $registrasi;
$this->load->view($this->layout, $this->data);
return;
}
$destName = $registrasi['Nama_Negara'];
echo $registrasi['No_Registrasi'] = $this->registrasi_model->generate_no_reg($destName);
}
我的模型代码:
public function generate_no_reg($destName)
{
$query = $this->db->query('SELECT Dest_Code from Destination WHERE Dest_Name= "$destName"');
$id1 = $query->row()->Dest_Code;
$query2 = 'SELECT Reg_ID FROM Registration ORDER BY Reg_ID DESC LIMIT 1';
$lastid = $this->db->query($query2);
$id2 = $lastid->row()->Reg_ID+1;
$id3 = format_no_registrasi($id2);
$kode = $id1.$id3;
return $kode;
}
我的format_no_registrasi功能代码:
function format_no_registrasi($no)
{
$leadingzeros = '000';
$no_reg = date('Y') . date('m') . substr($leadingzeros, 0, (-strlen($no))) . $no;
return $no_reg;
}
这是我的错误:error
显示在底部的文本是我想要的ID,但它没有Dest_Code
很感谢任何形式的帮助。抱歉这件事。
答案 0 :(得分:0)
在codeigniter中写入函数。在此函数中从表中获取最后的记录并增加一个值然后添加。在增加之前需要拆分并放入正确的年份和月份,然后将dest_code,yyyy,mm和增加值的值连接起来。然后插入你的表。
答案 1 :(得分:0)
在模型中使用以下代码
首先使用以下方法计算您的记录:从tbl中选择count(*)。分配给某个变量$ maxcount
建立你独特的身份...... $ unique_id = $ dest_code.date(" Ym")。str_pad($ maxcount + 1,3,' 0',STR_PAD_LEFT);
将id插入数据库时使用$ unique_id。
答案 2 :(得分:0)
public function generate_no_reg($destName)
{
$this->db->select('Dest_Code');
$this->db->from('Destination');
$this->db->where('Dest_Name',$destName);
$query=$this->db->get();
return $query->row();
}
我认为这会工作。现在尝试在控制器中打印结果。