Как передать данные Mutliple в контроллер codeigniter

Я работаю над шаблоном, мне нужно передать результаты базы данных в таблицы данных jquery на странице просмотра. теперь проблема в том, что есть также шаблон с именем, расположенный в application/view/admin/layout.php, который мы используем глобально, он включает в себя заголовок, нижние колонтитулы, боковые панели и другую глобальную библиотеку. теперь проблема в том, что я не могу передать этот шаблон контроллеру.

Belwo — мой контроллер (application/controllers/admin/Applications.php

       <?php
    defined('BASEPATH') OR exit('No direct script access allowed');

    class Applications extends MY_Controller {
        public function __construct(){
            parent::__construct();

        }

        public function appindex(){
            $data['view'] = 'admin/dashboard/index';
            $this->load->model('admin/App_model');
            $result['data']=$this->App_model->applists();
            $this->load->view('admin/layout', $data, $result);

        }               
            }

?>  

Ниже моя модель ( application/models/admin/App_model.php

    <?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class App_model extends CI_Model{

    public function applists(){

            $query=$this->db->query("select * from tblapps");
            return $query->result();

        }       
}
?>

это код для моего глобального представления файла (layout.php)

            <section id="container">
            <!--header start-->
            <header class="header white-bg">
                <?php include('include/navbar.php'); ?>
            </header>
            <!--header end-->
            <!--sidebar start-->
            <aside>
                <?php include('include/sidebar.php'); ?>
            </aside>
            <!--sidebar end-->
            <!--main content start-->
            <section id="main-content">
                <div class="content-wrapper" style="min-height: 394px; padding:15px;">
                    <!-- page start-->
                    <?php $this->load->view($view);?>
                    <!-- page end-->
                </div>
            </section>
            <!--main content end-->
            <!--footer start-->
            <footer class="main-footer">
                <strong>Copyright © 2018 <a href="#">Indian I Services</a></strong> All rights
                reserved.
            </footer>
            <!--footer end-->
        </section>

это моя страница просмотра index.php, где я передаю результаты запроса к базе данных.

 <tbody>
            <?php
                 $i=1;              
                foreach($data as $row)
            {
               echo "<tr>";
               echo "<td>".$i."</td>";
               echo "<td>".$row->app_id."</td>";
               echo "<td>".$row->firstname."</td>";
               echo "<td>".$row->email."</td>";
                echo "<td>".$row->sdate."</td>";
               echo "</tr>";
               $i++;
             }
            ?>              
            </tbody>

это дает мне ошибку,

Произошла ошибка PHP Серьезность: Уведомление Сообщение: Неопределенная переменная: данные Имя файла: apps/index.php Номер строки: 42

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

    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');

    class Applications extends MY_Controller {
        public function __construct(){
            parent::__construct();

        }

        public function appindex(){
            $this->load->model('admin/App_model');
            $result['data']=$this->App_model->applists();
            $this->load->view('admin/applications/index', $result);

        }               
            }

?>

person Ojibix Creatives    schedule 13.08.2018    source источник


Ответы (2)


Надеюсь, это поможет вам:

Передайте результаты view и data следующим образом:

public function appindex()
{
    $result['view'] = 'admin/dashboard/index';
    $this->load->model('admin/App_model');
    $result['data'] = $this->App_model->applists();
    $this->load->view('admin/layout', $result);
}

Ваше представление должно быть таким:

<section id="main-content">
            <div class="content-wrapper" style="min-height: 394px; padding:15px;">
                <!-- page start-->
                <?php if ( !empty($view))
                {
                   $this->load->view($view);
                }?>
                <!-- page end-->
            </div>
</section>

Это твоя data часть

<tbody>
  <?php
  if (! empty($data))
  {
    $i=1;              
    foreach($data as $row)
    {
      echo "<tr>";
      echo "<td>".$i."</td>";
      echo "<td>".$row->app_id."</td>";
      echo "<td>".$row->firstname."</td>";
      echo "<td>".$row->email."</td>";
      echo "<td>".$row->sdate."</td>";
      echo "</tr>";
      $i++;
    }
  }
  ?>              
</tbody>

Подробнее: https://codeigniter.com/user_guide/general/views.html#adding-dynamic-data-to-the-view

person Pradeep    schedule 13.08.2018
comment
позвольте мне проверить, сэр. - person Ojibix Creatives; 13.08.2018
comment
Спасибо, Прадип, это сработало. а так же спасибо за документацию, буду учиться - person Ojibix Creatives; 13.08.2018
comment
удовольствие мое, удачного кодирования, пожалуйста, тоже проголосуйте за мой ответ, сэр - person Pradeep; 13.08.2018

Сохраните ваши данные и результат в $data['data'] и $data['result'] и передайте их для просмотра In view. получить данные, используя $result и $data

person Vishal Bondre    schedule 13.08.2018
comment
Здравствуйте, сэр, это не мой вопрос. - person Vishal Bondre; 13.08.2018
comment
Спасибо, хорошо, это было решено. ваши предложения были правильными. но Прадип ответил с демонстрацией. спасибо всем - person Ojibix Creatives; 13.08.2018
comment
С удовольствием, сэр - person Vishal Bondre; 13.08.2018