如何使用codeigniter和bootstrap显示数据库中的选定值并显示在下拉列表中

时间:2017-10-14 11:21:13

标签: php html twitter-bootstrap codeigniter

当我通过它的product_id选择产品的所有数据时。并以表格形式加载产品数据以进行更新。但在这种情况下,我无法设置选定的下拉列表值。

这里是我的观点

      <form action="<?php //echo base_url().'admin_product/pro_update/'?>" method="post" class="form-horizontal">

        <div class="control-group">
          <label class="control-label">Title :</label>
          <div class="controls">
            <input type="text" class="span5 m-wrap" placeholder="Product title" name="title" value="<?php echo $item[0]['p_title']?>" />

           <h6 style="color:red"><?php echo form_error('title')?></h6>
          </div>
        </div>
        <div class="control-group">
          <label class="control-label">Category :</label>
          <div class="controls">
            <select name="cat" id="cat">

              <option value="">--Select Category--</option>

            <?php foreach($cat as $c):?>

    <option value="<?php echo $c->cat_id?>"><?php echo $c->cat_name;?>//selected set value here</option>
   <?php endforeach;?>

            </select>
            <h6 style="color:red"><?php echo form_error('cat')?></h6>
          </div>
        </div>

这是我的控制器代码,

 public function pro_edit($id)
{
    $p['item']=$this->ap->product_update($id);
    $p['cat']=$this->ap->up_cat();
    $p['color']=$this->ap->up_color();  
   $this->load->view('layouts/header',$p);
   $this->load->view('admin/product_update',$p);
   $this->load->view('layouts/footer',$p);
}

和型号代码,

public function product_update($id)
{
    $this->db->select('p_title,p_description,p_category,p_stock_quantity,p_pprice,p_sprice,p_size_variant,cat_name,v_color,v_size,p_id');
    $this->db->from('tbl_product');
    $this->db->join('tbl_category','tbl_product.p_category=tbl_category.cat_id');
    $this->db->join('tbl_variant','tbl_product.p_color_variant=tbl_variant.v_id');
    $this->db->where('p_id',$id);
    $query=$this->db->get();


        return $query->result_array();

}

1 个答案:

答案 0 :(得分:0)

假设

p_category是您的类别ID

<强>代码

<select name="cat" id="cat">

    <option value="">--Select Category--</option>

    <?php 
        foreach($cat as $c):?>

        <option value="<?php echo $c->cat_id?>" <?php echo ($item[0]['p_category'] == $c->cat_id) ? 'selected' : '' ?>>
            <?php echo $c->cat_name;?>

            </option>
    <?php 
        endforeach;
    ?>

</select>

解释

问答 - 以上<?php echo ($item[0]['p_category'] == $c->cat_id) ? 'selected' : '' ?>

中的内容如何

A - 假设$item[0]['p_category'] 值为2 ,所以当$c->cat_id等于该值时,其打印selected关键字

例如:

<select>
    <option value="1">aa</option>
    <option value="2" selected>bb</option>
    <option value="3">cc</option>
    <option value="4">dd</option>
</select>