这里使用函数explode函数来从datable爆炸数据并且只有当row()
在返回result()
时没有得到时才会起作用。
这是我的桌子
id name tools_names quantity
9 T20 T20A,T20B,T20C,T20D,T20E,T20F,T20G,T20H,T20I,T20J 10
10 krone tool krone toolA,krone toolB,krone toolC,krone toolD,kr... 5
这是我的控件
$data['tools']=$this->Tools_model->view_available_tools();
$data['toolss'] = explode(',',$data['tools']->tools_names);
$data['toolss'] = array_values($data['toolss']);
//return $data['toolss'];
var_dump($data['toolss']);
这是我的模特
public function view_available_tools()
{
$this->db->order_by('id','desc');
$query=$this->db->get('tools');
return $query->result();
}
当我返回第一行时,tools_names值即将到来,但我想获取所有行的所有tools_names。这不是来请帮我解决这个问题。
我的观点看起来像这样
<div class="form-group">
<label for="tools" class="control-label">Tools:</label>
<select name="tools[]" class="form-control" multiple="multiple" required>
<option value="">please select</option>
<?php foreach($toolss as $row){?>
<option value="<?php echo $row;?>"><?php echo $row;?></option>
<?php }?>
</select>
</div>
答案 0 :(得分:1)
您必须使用return $query->result_array();
或等效的
public function view_available_tools()
{
$this->db->order_by('id','desc');
$this->db->where('status',1);
$query=$this->db->get('tools');
return $query->result_array();
}
修改强>
请更新您的控制器
$data['tools']=$this->Tools_model->view_available_tools();
foreach ($data['tools'] as $key=>$val) {
$data['toolss'][] = explode(',',$val['tools_names']);
}
$data['toolss'] = array_values($data['toolss']);
var_dump($data['toolss']);
<强> EDIT2:强>
查看更新,
<div class="form-group">
<label for="tools" class="control-label">Tools:</label>
<select name="tools[]" class="form-control" multiple="multiple" required>
<option value="">please select</option>
<?php foreach($toolss as $key=>$val){
foreach ($val as $key2=>$val2){
?>
<option value="<?php echo $val2;?>"><?php echo $val2;?></option>
<?php
}
} ?>
</select>
</div>
答案 1 :(得分:1)
尝试以下代码:: -
double