返回到result()失败时爆炸

时间:2016-12-07 06:10:10

标签: php explode codeigniter-3

这里使用函数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>

2 个答案:

答案 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