【问题标题】:CodeIgniter Dropdown menu fetching data from database columnCodeIgniter 下拉菜单从数据库列中获取数据
【发布时间】:2014-10-17 06:17:31
【问题描述】:

我遇到了问题。请让我知道是否有解决方案。因此,我是codeigniter的新手,如果有愚蠢的,请提前道歉!

我正在尝试从数据库中获取数据。表名为fw_main_cat,其中包含字段(cat_idcat_parent_idcat_levelcat_titlecat_menu_ordercat_status)。 cat_id 是独一无二的。

我想要一个下拉菜单(视图中)来获取列 cat_titlecat_level 的所有数据(它们是 int)。那么,我该怎么做呢?

这是我迄今为止尝试过的代码。

这是模特:

public function cat_level_one($cat_level) 
{

   $sql = "Select * from fw_main_cat Where cat_level=? ";
   $result =  $this->db->query($sql, $cat_level);

   if($result->num_rows() > 0)
   {
    return $result->result_array();
   }
   else { return false;
   }
}

这是控制器:

public function getcategory() 
{

    if ($this->session->userdata('session_status'))
    {
        $cat_level_one = $this->admin_cat_model->cat_level_one($cat_level);
        $data['cat_level_one'] = $this->admin_cat_model->cat_level_one($cat_level);
        $this->session->set_userdata('cat_level', $_POST['cat_level']);

        $this->laod_view('admin_view/admin_cat/view_add_category', $data);
    }else {
        redirect ('admin_view/admin_cat/view_category');
    }
}   

这是视图(下拉菜单):

<li class="full-row">
    <select name = 'cat_level_one' id = 'cat_level_one'>

      <option value="<?php if(isset ($cat_level_one) && $cat_level_one != ''){ foreach ($cat_level_one as $cat_one){ echo $cat_one->cat_id; } }  ?>" 
    selected="selected">------------Select Category------------</option>

谢谢!供考虑。

【问题讨论】:

    标签: database codeigniter drop-down-menu sqlyog


    【解决方案1】:

    更新代码 -

    // in model
    
    function cat_level_one($cat_level)
    {
    $this->db->where('cat_level',$cat_level);
    $q = $this->db->get('fw_main_cat');
    $data = $q->result_array();
    return $data;
    }
    
    
    //controller function
    
    public function getcategory()
    {
    
    **if ($this->session->userdata('session_status'))
    {
    $data['cat_level_one'] = $this->admin_cat_model->cat_level_one($cat_level);**
    
    //Where this post data comes from??
    $this->session->set_userdata('cat_level', $_POST['cat_level']);
    
    $this->laod_view('admin_view/admin_cat/view_add_category', $data);
    }else {
    redirect ('admin_view/admin_cat/view_category');
    }
    }
    
    
    //in view
    
    <li class="full-row">
        <select name = 'cat_level_one' id = 'cat_level_one'>
            <option value="">-- Select Category --</option>
            <?php foreach($cat_level_one as $cat_one){ ?>
            <option value="<?php echo $cat_one->cat_id; ?>"><?php echo $cat_one->cat_title; ?></option>
            <?php } ?>
        </select>
    </li>
    

    【讨论】:

    • 先生,我已经尝试过您的更新代码。但它对我不起作用:(。仍然显示空白下拉列表。没有从数据库中获取值
    • 'fw_main_cat' 表中是否有 $cat_level 值的记录,您正在通过?
    • 是的,先生,它包含 int 值
    • 创建表fw_main_cat (cat_id int(50) NOT NULL AUTO_INCREMENT, cat_parent_id int(50) NOT NULL, cat_level int(50) NOT NULL, cat_title varchar( 50) 非空,cat_menu_order int(50) 非空,cat_status int(50) 非空,主键 (cat_id)) ENGINE=InnoDB AUTO_INCREMENT=53 默认字符集=latin1
    • 你应该检查你的控制器功能,如果会话正在工作,你还没有传递 $cat_level 的值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 2015-03-02
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多