Codeigniter многоразовых разделов - PullRequest
0 голосов
/ 27 февраля 2011

У меня есть таблица данных из базы данных, которую я хочу отобразить на разных страницах моего сайта.В идеале я хотел бы просто включить или что-то, что сработает, получит данные и вернет HTML-таблицу.HTML и данные будут идентичны каждый раз, когда мне нужно это использовать.

Я хотел бы узнать, как лучше всего это сделать

Спасибо

РЕДАКТИРОВАТЬ

Если это поможет, что-то похожее на пользовательский тег «включения» Django ... для любых разработчиков django, читающих

Ответы [ 4 ]

1 голос
/ 04 июня 2018
 you need to pass the variable $data to the view method.

This is your code:

function load_my_view(){  
    $this->load->model('my_table');
    $data['my_results'] = $this->my_table->my_data();
    $this->load->view('my_view');
}

Please change it to this in order to load the $data into the view:

function load_my_view(){  
    $this->load->model('my_table');
    $data['my_results'] = $this->my_table->my_data();
    $this->load->view('my_view',$data);
}
0 голосов
/ 27 февраля 2011

Похоже, хорошая возможность использовать кеш: http://codeigniter.com/user_guide/libraries/caching.html

0 голосов
/ 28 февраля 2011

Хорошо, вот одна вещь, которая работает для меня, но она определенно не идеальна.

Я создал представление, в котором сделал запрос модели, получающей данные, а затем поместил данные в таблицу.Таким образом, мне нужно только включить это представление, чтобы поместить таблицу куда-либо.

Я понимаю, что это полностью разрушает смысл наличия инфраструктуры MVC, но, надеюсь, она демонстрирует то, что я хочу сделать ...

0 голосов
/ 27 февраля 2011

Вы должны использовать функцию в модели для получения нужных вам данных. Ваш контроллер вызывает функцию модели и отправляет возвращенную информацию в представление. Вам не нужно использовать традиционные PHP-включения с Codeigniter. Я рекомендую обзор руководства пользователя . Это очень хорошо и расскажет вам все основные вещи, которые вы должны знать, чтобы разработать с помощью CI. Но для начала вам нужно использовать Models, Views и Controllers . Ваш URL скажет CI, какой контроллер и функции внутри этого контроллера должны работать. Если ваш URL-адрес

http://www.example.com/my_controller/load_my_view

Тогда CI будет делать то, что находится внутри функции load_my_view в контроллере my_controller. Функция load_my_view в свою очередь создает экземпляр модели «my_table» и запускает запрос к базе данных, возвращает информацию, которую контроллер отправляет в представление. Ниже приведен базовый пример:

Ваша модель

class my_table extends CI_Model{
    function my_data(){
        $this->db->select('column_1,column_2,column_3');
        $this->db->from('my_table');
        $query = $this->db->get();
        if($query->num_rows()>0){
          $result = $query->result();
        }
        else{
          $result = false;
        }
        return $result;
    }


}

Ваш контроллер

class my_controller extends CI_Controller{
    function load_my_view(){  
        $this->load->model('my_table');
        $data['my_results'] = $this->my_table->my_data();
        $this->load->view('my_view');
    }

}

Ваш взгляд

<ul id = "my_db_results">

    <?php foreach($my_results as $result):?>
         <li><?php echo $result->column_1." : ".$result->column_2." ( ".$result->column_3." )";?></li>
    <?php endforeach;?>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...