如何将多个数据传递给 codeigniter 控制器
How to Pass Mutliple data to codeigniter controller
我正在处理模板,我需要将数据库结果传递到视图页面中的 jquery 数据table。现在的问题是还有一个位于 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>
它给我错误,
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: data
Filename: applications/index.php
Line Number: 42
如果我在控制器中使用此代码 - 它仅显示 table。但是如何包含该模板文件以便它可以显示所有页眉、页脚和菜单。
<?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);
}
}
?>
希望对您有所帮助:
像这样传递 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
将您的数据和结果存储在 $data['data'] 和 $data['result'] 中
并将其传递给查看
在视图中。使用 $result 和 $data
获取数据
我正在处理模板,我需要将数据库结果传递到视图页面中的 jquery 数据table。现在的问题是还有一个位于 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>
它给我错误,
A PHP Error was encountered Severity: Notice Message: Undefined variable: data Filename: applications/index.php Line Number: 42
如果我在控制器中使用此代码 - 它仅显示 table。但是如何包含该模板文件以便它可以显示所有页眉、页脚和菜单。
<?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);
}
}
?>
希望对您有所帮助:
像这样传递 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
将您的数据和结果存储在 $data['data'] 和 $data['result'] 中 并将其传递给查看 在视图中。使用 $result 和 $data
获取数据