我是codeigniter和php的首发,我正面临这个问题
遇到PHP错误
严重性:注意
消息:未定义的变量:查询
文件名:inc / header_main_view.php
行号:175
遇到PHP错误
查看:
<ul class="dropdown-menu">
<li>
<!-- inner menu: contains the actual data -->
<ul class="menu">
<?php foreach($query as $row) :?>
<li><!-- Task item -->
<a href="#">
<h3>
<?php echo $row->id_task; ?><?php echo $row->name; ?>
<small class="pull-right">20%</small>
</h3>
<div class="progress xs">
<div class="progress-bar progress-bar-aqua" style="width: 20%" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
<span class="sr-only">20% Complete</span>
</div>
</div>
</a>
</li><!-- end task item -->
<?php endforeach; ?>
</ul>
</li>
<li class="footer">
<a href="<?=base_url()?>index.php/dashboard/g_tasks_menu">View all tasks</a>
</li>
</ul>
CONTROLLER
public function get_todo($id = null)
{
$this->_require_login();
$this->load->model('todo_model');
if ($id != null) {
$result = $this->todo_model->get([
'id' => $id,
'id_user' => $this->session->userdata('id_user')
]);
} else {
$result = $this->todo_model->get([
'id_user' => $this->session->userdata('id_user')
]);
}
return $result;
}
其他控制器
public function index()
{
require('api.php');
$api = new api();
$query = $api->get_todo();
$this->load->view('dashboard/inc/header_main_view', $query);
$this->load->view('dashboard/admin_pages/dashboard_view');
$this->load->view('dashboard/inc/footer_main_view');
}
MODEL
public function get($id = null, $order_by = null)
{
if (is_numeric($id)) {
$this->db->where($this->_primary_key, $id);
}
if (is_array($id)) {
foreach ($id as $_key => $_value) {
$this->db->where($_key, $_value);
}
}
$q = $this->db->get($this->_table);
return $q->result_array();
}
有人可以告诉我为什么我会收到错误。
答案 0 :(得分:4)
就像这样
$data['query'] = $api->get_todo();
$this->load->view('dashboard/inc/header_main_view', $data);
答案 1 :(得分:2)
你没有传递变量来正确查看。$query
在你的视图中不可用.CI将数组或对象键转换为从控制器发送的变量。参见Adding Dynamic Data to the View来自doc。< / p>
你需要像这样修理你的控制器
$data['query'] = $api->get_todo();
$this->load->view('dashboard/inc/header_main_view', $data);
//your view will get all key of $data as variable.
//your view will get $query from above code