在下拉列表Codeigniter中查看表值

时间:2014-09-09 08:07:38

标签: php codeigniter

我是codeIgniter的新手;我的问题是我有表cartegories_meta_data

的数据库
meta_cartegory_id | meta_cartegory_name 
------------------|--------------------
 395              |  Soft Drinks 
 11111            |  Hot Drinks

我有一个模型Add_items

public function getcartegory()
{
    $query = $this->db->query("SELECT * FROM `cartegories_meta_data`");
    return $query->result();
}

控制器项目

public function additems()
{
    $this->load->helper('url');
    $this->load->model('Add_items');
    $data['result'] = $this->Add_items->getcartegory();
    $this->load->view('menu');
    $this->load->view('additems', $data);
    $this->load->view('footer1');
}

在我的观点中,我为每个循环加载数组结果

<?php 
    foreach ($result as $row) {
        $id = $row->meta_cartegory_id;
        $name = $row->meta_cartegory_name;
    } 
?>

现在我想要的是创建一个下拉列表...它将显示所有cartegory名称及其id为值

<?php 
    $options = array($id => $name );
    $more =' class ="form-control"';
    echo form_dropdown('item_cartegory', $options, 11111, $more); 
?>

目前的代码给了我

<option value="11111" selected="selected">Hot Drinks</option>

但我想要的是得到这样的东西

<option value="395">Soft Drinks</option>
<option value="11111" selected="selected">Hot Drinks</option>

你能帮助我如何处理每个循环以获得我想要的东西或者是否有其他方式

1 个答案:

答案 0 :(得分:1)

只需将选项置于循环内即可。

<select>

<?php
  $flag=0;
  foreach ($result as $row) { ?>

  if(flag==0)
  {
     //code to select the first item
       <option value="<?php echo $row->meta_cartegory_id; selected="selected"?>" ><?php echo $row->meta_cartegory_name; ?></option>
   flag=1;
   }
   else
   {
     //remove the selected here
       <option value="<?php echo $row->meta_cartegory_id;?>" ><?php echo $row->meta_cartegory_name; ?></option>
    }
  } ?>

</select>

如果有错误,请告诉我