如何将父id输入到不同表中的数据库中

时间:2017-11-17 04:51:32

标签: php mysql database codeigniter

我有桌子 - > subkategori

subkategori

我无法将id_kategori属性插入表格组合

portofolio

我有一个模型代码:

function get_subcategories($id_kategori){

$query = $this->db->query("SELECT id_kategori from subkategori WHERE id_subkategori=".$this->input->post('a'));
return $query->result();
}

和控制器在这里:

if ($this->input->post('a')!=''){
    $this->load->model('Model_app');
    $this->model_app->get_subcatoegories('$id_kategori');
}else{
    $id_kategori = '';
}
$data = array(
            'id_subkategori'=>$this->db->escape_str($this->input->post('a')),
            'id_kategori'=>$id_kategori
        );

2 个答案:

答案 0 :(得分:0)

  

$this->input->post('a')正如您在此处提到的,我假设您在表单中输入了内容,其名称为a

在控制器中

if (!empty($this->input->post('a')))
{
    $this->load->model('Model_app');
    $id = $this->model_app->get_subcatoegories($this->input->post('a'));

    if (empty($id)) {
        $id_kategori = '';
    } else {
        $id_kategori = $id[0]['id_kategori'];
    }

}else{
    $id_kategori = '';
}

$data = array(
    'id_subkategori'=>$this->db->escape_str($this->input->post('a')),
    'id_kategori'=>$id_kategori
);

在模型中

function get_subcategories($id_kategori)
{
    $query = $this->db->query("SELECT id_kategori FROM subkategori WHERE id_subkategori = $id_kategori");
    return $query->result_array();
}

如果使用$this->db->insert_id();

,您可以获得最后的信息

答案 1 :(得分:0)

在您的if语句中,您没有将数据库值分配给$id_kategori变量。因此,当将空值插入表时,它将插入为0(int字段)。

此外,当您将变量传递给函数时,它不应该是单引号。你必须传递post变量,但是你传递的是一个未定义的变量。

if ($this->input->post('a')!=''){
    $this->load->model('Model_app');
    $category = $this->model_app->get_subcatoegories($this->input->post('a'));
    $id_kategori = $category['id_kategori];
}else{
    $id_kategori = '';
}
$data = array(
            'id_subkategori'=>$this->db->escape_str($this->input->post('a')),
            'id_kategori'=>$id_kategori
        );