Mysql
 sql >> Base de données >  >> RDS >> Mysql

afficher les données de la base de données vers la liste déroulante CodeIgniter

Vous ne devriez pas appeler votre modèle depuis votre point de vue. Essayez plutôt d'appeler votre modèle et de définir $data['groups'] avant de charger vos vues.

Ne faites pas non plus écho aux résultats de la ligne dans votre modèle, sauf si vous souhaitez qu'ils s'affichent sur votre page.

Contrôleur :

<?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);

    }


}

Modèle :

    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();
    }

Afficher :

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

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