php - 将数据库中的数据显示到下拉菜单 CodeIgniter

标签 php mysql codeigniter

我在显示从数据库到下拉列表的数据时遇到困难。

这是我试过的:

模型.php

        public function __construct()
        {
            parent::__construct();
        }

        function getAllGroups()
        {
            /*
            $query = $this->db->get('location');

            foreach ($query->result() as $row)
            {
                echo $row->description;
            }*/

            $query = $this->db->query('SELECT description FROM location');

            foreach ($query->result() as $row)
            {
                echo $row->description;
            }

            //echo 'Total Results: ' . $query->num_rows();
        }

Controller.php

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    class Delivery_controller extends CI_Controller{
        public function __construct()
        {
            parent::__construct();
            $this->load->model('delivery_model');

        }
        public function index()
        {

            $data['title']= 'Warehouse - Delivery';
            $this->load->view('include/header',$data);
            $this->load->view('include/navbar',$data);
            $this->load->view('delivery_view', $data);
            $this->load->view('include/sidebar',$data);
            $this->load->view('include/footer',$data);
        $data['groups'] = $this->delivery_model->getAllGroups();
        }


    }

View.php

           <select class="form-control">
                <?php 
                        $data = $this->delivery_model->getAllGroups();
                foreach($description as $each)
                { ?><option value="<?php echo $each['description']; ?>"><?php echo $each['description']; ?></option>';
                <?php }
                ?>
                </select>

但结果出现在我的页面顶部。它没有出现在下拉列表中。我在这里做错了什么?非常感谢您的帮助。谢谢。

最佳答案

您不应该从您的 View 中调用您的模型。在加载 View 之前,请尝试调用模型并设置 $data['groups']

也不要回显模型中的行结果,除非您希望它显示在您的页面上。

Controller :

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Delivery_controller extends CI_Controller{
    public function __construct()
    {
        parent::__construct();
        $this->load->model('delivery_model');

    }
    public function index()
    {

        $data['title']= 'Warehouse - Delivery';
        $data['groups'] = $this->delivery_model->getAllGroups();
        $this->load->view('include/header',$data);
        $this->load->view('include/navbar',$data);
        $this->load->view('delivery_view', $data);
        $this->load->view('include/sidebar',$data);
        $this->load->view('include/footer',$data);

    }


}

型号:

    public function __construct()
    {
        parent::__construct();
    }

    function getAllGroups()
    {
        /*
        $query = $this->db->get('location');

        foreach ($query->result() as $row)
        {
            echo $row->description;
        }*/

        $query = $this->db->query('SELECT description FROM location');


        return $query->result();

        //echo 'Total Results: ' . $query->num_rows();
    }

查看:

       <select class="form-control">
            <?php 

            foreach($groups as $row)
            { 
              echo '<option value="'.$row->description.'">'.$row->description.'</option>';
            }
            ?>
            </select>

关于php - 将数据库中的数据显示到下拉菜单 CodeIgniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19922143/

相关文章:

mysql - 如何将多个类(相同的实体但具有增强的属性)映射到同一个数据库表?

database - MySQL InnoDB 从备份中恢复

mysql - 发生数据库错误错误号 : 1054 Unknown column. .. 在 'field list'

php 访问共享 smb 文件夹(用户/密码保护)

php - 安全高效的文件 uploader

mysqld.exe 已停止在 xampp 窗口中工作?

来自 SQL Server 的 JavaScript 日期 : Codeigniter

javascript - php 检索多个 json 对象数组

php - 从数字格式中删除逗号而不删除 PHP 中的小数点

php - 在 CodeIgniter 中加载多个库 - PHP