Php 从CodeIgniter中的数据库获取下拉列表

Php 从CodeIgniter中的数据库获取下拉列表,php,mysql,codeigniter,Php,Mysql,Codeigniter,我是CodeIgniter的新手,我一直试图用数据库中的数据填充视图页面上的下拉列表,但没有成功。我尝试使用此问题中的建议,但下拉列表仍然为空() 以下是我的看法: <label>City</label> <select class="form-control> <option value="">All</option> <?php foreach($groups as $city) {

我是CodeIgniter的新手,我一直试图用数据库中的数据填充视图页面上的下拉列表,但没有成功。我尝试使用此问题中的建议,但下拉列表仍然为空()

以下是我的看法:

<label>City</label>
<select class="form-control>
    <option value="">All</option>
    <?php
    foreach($groups as $city)
    {
        echo '<option value="'.$city['cityidd'].'">'.$city['city'].'</option>';
    }
    ?>  
</select> <br/>

表名为“citys”,然后相应的列标题为“citydd”和“city”

首先将SELECT查询更改为

SELECT cityidd, city FROM citys
在控制器的index()中,将代码更改为

public function index() 
{ 
     $this->load->helper('form'); 
     $data['groups'] = $this->site_model->getAllGroups();
     $this->load->view('supplier_add',$data); 
} 

首先将SELECT查询更改为

SELECT cityidd, city FROM citys
在控制器的index()中,将代码更改为

public function index() 
{ 
     $this->load->helper('form'); 
     $data['groups'] = $this->site_model->getAllGroups();
     $this->load->view('supplier_add',$data); 
} 

您必须调用模型方法并将其传递给控制器中的视图,代码:

public function index() 
{ 
$this->load->helper('form');
$this->load->model('site_model'); 
$data['groups'] = $this->site_model->getAllGroups();
$this->load->view('supplier_add',$data); 
} 

如果您正在使用linux,请不要忘记大小写名称

您必须调用模型方法并将其传递给控制器中的视图,代码:

public function index() 
{ 
$this->load->helper('form');
$this->load->model('site_model'); 
$data['groups'] = $this->site_model->getAllGroups();
$this->load->view('supplier_add',$data); 
} 

如果您正在使用linux,请不要忘记大小写名称

类主控制器扩展CI控制器 {

        function __construct() 
        { 
             parent::__construct(); 
             $this->load->helper('url'); 
             $this->load->database(); 
             $this->load->model('Site_model');
        } 

          public function index() 
        { 
             $this->load->helper('form'); 
             $data['groups']=$this->Site_model->getAllGroups();
             $this->load->view('supplier_add',$data); 
        } 
        }
        public function __construct() 
        {
            /* Call the Model constructor */
            parent::__construct();
        }
        function getAllGroups()
            {

                $query = $this->db->query('SELECT city FROM citys');


                return $query->result();

            }
        }
这是我的模型:

class Site_model extends CI_Model
{
    public function __construct() 
    {
        /* Call the Model constructor */
        parent::__construct();
    }
    function getAllGroups()
    {
        $query = $this->db->query('SELECT city FROM citys');

        return $query->result();
    }
}
        class Site_model extends CI_Model
        {

        public function __construct() 
        {
            /* Call the Model constructor */
            parent::__construct();
        }
        function getAllGroups()
            {

                $query = $this->db->query('SELECT * FROM citys');


                return $query->result();

            }
        }

像这样尝试

类主\u控制器扩展CI\u控制器 {

        function __construct() 
        { 
             parent::__construct(); 
             $this->load->helper('url'); 
             $this->load->database(); 
             $this->load->model('Site_model');
        } 

          public function index() 
        { 
             $this->load->helper('form'); 
             $data['groups']=$this->Site_model->getAllGroups();
             $this->load->view('supplier_add',$data); 
        } 
        }
        public function __construct() 
        {
            /* Call the Model constructor */
            parent::__construct();
        }
        function getAllGroups()
            {

                $query = $this->db->query('SELECT city FROM citys');


                return $query->result();

            }
        }
这是我的模型:

class Site_model extends CI_Model
{
    public function __construct() 
    {
        /* Call the Model constructor */
        parent::__construct();
    }
    function getAllGroups()
    {
        $query = $this->db->query('SELECT city FROM citys');

        return $query->result();
    }
}
        class Site_model extends CI_Model
        {

        public function __construct() 
        {
            /* Call the Model constructor */
            parent::__construct();
        }
        function getAllGroups()
            {

                $query = $this->db->query('SELECT * FROM citys');


                return $query->result();

            }
        }
尝试这样做

进行这些更改

在模型中将数据转换为数组,因为您将其用作视图中的数组,所以更改为

function getAllGroups()
{
    $query = $this->db->query('SELECT * FROM citys');
    return $query->result_array();
}
在控制器中

public function index() 
{ 
    $this->load->helper('form');
    $this->load->model('site_model'); 
    $data['groups'] = $this->site_model->getAllGroups();
    $this->load->view('supplier_add',$data); 
} 
做出这些改变

在模型中将数据转换为数组,因为您将其用作视图中的数组,所以更改为

function getAllGroups()
{
    $query = $this->db->query('SELECT * FROM citys');
    return $query->result_array();
}
在控制器中

public function index() 
{ 
    $this->load->helper('form');
    $this->load->model('site_model'); 
    $data['groups'] = $this->site_model->getAllGroups();
    $this->load->view('supplier_add',$data); 
} 

发现了几个问题。请按如下所示进行更改

 function __construct(){ 
    parent::__construct(); 
    $this->load->helper('url');
    $this->load_model('Site_model');
    $this->load->database(); 
} 
public function index(){ 
  $this->load->helper('form');
  $data['groups'] = $this->site_model->getAllGroups();
  $this->load->view('supplier_add',$data); 
} 
最终模型

function getAllGroups(){
    $query = $this->db->query('SELECT cityidd,city FROM citys');
    return $query->result_array();
}

现在测试

发现了几个问题。进行如下更改

 function __construct(){ 
    parent::__construct(); 
    $this->load->helper('url');
    $this->load_model('Site_model');
    $this->load->database(); 
} 
public function index(){ 
  $this->load->helper('form');
  $data['groups'] = $this->site_model->getAllGroups();
  $this->load->view('supplier_add',$data); 
} 
最终模型

function getAllGroups(){
    $query = $this->db->query('SELECT cityidd,city FROM citys');
    return $query->result_array();
}

现在进行测试

您没有加载模型加载模型 例如:-
        function __construct() 
        { 
             parent::__construct(); 
             $this->load->helper('url');
             $this->load->model('Site_model') 
             $this->load->database(); 
        } 

          public function index() 
        { 
             $this->load->helper('form');
             $data['record']=$this->Site_model->getAllGroups()
             $this->load->view('supplier_add', $data); 
        } 
        }
型号:- 类Site_模型扩展了CI_模型 {

        function __construct() 
        { 
             parent::__construct(); 
             $this->load->helper('url'); 
             $this->load->database(); 
             $this->load->model('Site_model');
        } 

          public function index() 
        { 
             $this->load->helper('form'); 
             $data['groups']=$this->Site_model->getAllGroups();
             $this->load->view('supplier_add',$data); 
        } 
        }
        public function __construct() 
        {
            /* Call the Model constructor */
            parent::__construct();
        }
        function getAllGroups()
            {

                $query = $this->db->query('SELECT city FROM citys');


                return $query->result();

            }
        }

您没有加载模型加载模型 例如:-
        function __construct() 
        { 
             parent::__construct(); 
             $this->load->helper('url');
             $this->load->model('Site_model') 
             $this->load->database(); 
        } 

          public function index() 
        { 
             $this->load->helper('form');
             $data['record']=$this->Site_model->getAllGroups()
             $this->load->view('supplier_add', $data); 
        } 
        }
型号:- 类Site_模型扩展了CI_模型 {

        function __construct() 
        { 
             parent::__construct(); 
             $this->load->helper('url'); 
             $this->load->database(); 
             $this->load->model('Site_model');
        } 

          public function index() 
        { 
             $this->load->helper('form'); 
             $data['groups']=$this->Site_model->getAllGroups();
             $this->load->view('supplier_add',$data); 
        } 
        }
        public function __construct() 
        {
            /* Call the Model constructor */
            parent::__construct();
        }
        function getAllGroups()
            {

                $query = $this->db->query('SELECT city FROM citys');


                return $query->result();

            }
        }

在construct()中,您加载模块时像这样$this->load->model('Site_model');然后在索引函数$data['city']=$this->Site_model->getAllGroups();是否有任何错误或显示您得到的输出?在construct()中,您加载模块时像这样$this->load->model('Site_model');然后在索引函数$data['city']=$this->Site_model->getAllGroups();是否有任何错误或显示您正在获得的输出?哇!工作非常出色!我的下拉列表现在已填充。谢谢,如果我有许多要从数据库填充的下拉列表,该怎么办?我是否要添加其他下拉列表的查询,或者如何在此处执行?例如,该表仍然是“citys”然后,其他相应的列标题是“id”和“paymentmodes”,对于另一个选项,它们使用不同的查询方法,如
getAllGroups()
Wow!真是太棒了!我的下拉列表现在已填充。谢谢,如果我有许多下拉列表要从数据库中填充,该怎么办?我是否要添加其他下拉列表的查询,或者如何在这里执行?例如,表仍然是“citys”,那么其他相应的列标题是“id”和“paymentmodes”对于另一个选项,用户使用不同的查询方法,如
getAllGroups()