我的表格有6个字段,名称相同 - 功能[],
我想以JSON格式将多个输入字段值保存到mysql 1列中:
<form method="post" action="<?php echo base_url();?>product/save/">
<input type="text" class="form-control" name="feature[]" placeholder="fetaure 1">
<input type="text" class="form-control" name="feature[]" placeholder="fetaure 2">
<input type="text" class="form-control" name="feature[]" placeholder="fetaure 3">
<input type="text" class="form-control" name="feature[]" placeholder="fetaure 4">
<?php ?>
我在mysql表中有列功能,我希望将输入字段值保存为feature列作为json数据。我正在使用codeigniter 3。
答案 0 :(得分:0)
您只需要根据表单方法获取 INPUTS 。根据表单方法post / get将输入保存在变量中。
发表:强>
$features=$_POST["feature"];
获取:强>
$features=$_GET["feature"];
$features
将是一个PHP数组,您可以使用json_encode()将 PHP数组编码为 JSON字符串。像这样,
$features_json=json_encode($features);
现在使用此变量$features_json
在MySQL数据库中保存 JSON字符串。
编码后的 JSON字符串将如下所示:http://json-parser.com/67c07feb
答案 1 :(得分:0)
ex for codeignitor
function save()
{
$feature = $this->input->post('feature');
$json = json_encode($feature);
$this->Your_model_Name->save($json);
}
答案 2 :(得分:0)
function save() {
$features = $this->input->post('feature');
$feature_json = json_encode($features);
//send to model
$this->load->model('your_model');
$this->your_model->insert($feature_json);
}
function insert($feature_json) {
$data = array(
'features' => $feature_json
);
$this->db->insert($data);
}
使用表单验证添加trim和xss clean
$this->form_validation->set_rules('feature[]',"Feature", "trim|xss_clean");
答案 3 :(得分:0)
因为它是一个数组,所以你需要一个foreach循环。你的功能必须看起来像这样
<强>控制器强>
function save()
{
foreach($this->input->post('feature') as $f)
{
$f = trim($f);
$data = json_encode($f);
$this->YOUR_MODEL->insert_to_table($data);
}
}
<强>模型强>
function insert_to_table($data)
{
$this->db->insert('table_name',$data);
}
这样,您发布所有输入
希望这会有所帮助