我有一个包含各种输入字段和3个复选框的表单。如何将这些复选框值存储在数据库的同一字段中的de数据库中?
这是我的代码
表格:
<div class="pro-input pro-field">
<label for="name" class="label_title">Name</label>
<?php echo form_input($title); ?>
</div><!--pro-input-->
<div class="pro-text pro-field">
<label for="name" class="label_text">Text</label>
<?php echo form_textarea($text); ?>
</div>
<div class="pro-input pro-field">
<label for="name" class="label_title">URL</label>
<?php echo form_input($url);?>
</div><!--pro-input-->
<div class="pro-checkbox pro-field">
<label for="name" class="label_title">Categorie</label>
<div class="pro-check">
<?php
echo form_label('Code', 'code');
echo form_checkbox('tags[]', 'code');
echo form_label('design', 'design');
echo form_checkbox('tags[]', 'design');
echo form_label('other', 'other');
echo form_checkbox('tags[]', 'other');
?>
</div>
</div>
控制器:
public function create()
{
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_rules('title', 'Title', 'trim|required');
$this->form_validation->set_rules('text', 'Text', 'trim|required');
if ($this->form_validation->run() === FALSE)
{
$this->load->view('admin/header', $data);
$this->load->view('admin/index', $data);
$this->load->view('admin/footer', $data);
}
else
{
$this->portfolio_model->set_project();
$this->load->view('admin/index', $data);
}
}
模特:
public function set_project()
{
$this->load->helper('url');
$slug = url_title($this->input->post('title'), 'dash', TRUE);
$data = array(
'title' => $this->input->post('title'),
'slug' => $slug,
'text' => $this->input->post('text'),
'url' => $this->input->post('url'),
'tags' => $this->input->post('tags')
);
return $this->db->insert('mydb', $data);
}
数据库中的值显示为“0”。 如果全部选中,我如何在同一个字段中显示3个值?
任何帮助都将受到高度赞赏。谢谢
答案 0 :(得分:2)
将它们全部存储在同一个db字段中的唯一方法是连接值并存储:
$tags_value = implode("|", $this->input->post('tags');
//should produce something like "code|design|other"
或者您可以为标记创建其他字段并使用它们(这将节省必须处理另一端的连接字符串,以及最后一个选项):
projects_table
id|slug|text|url|tag_code|tag_design|tag_other
----------------------------------------------
1|hi |coo |z.c| 0| 1| 1
此外,您可以创建另一个表并使用它:
tags_table
id|project_id|tag
----------------------
1| 123|design
2| 123|code
3| 123|other