目前正在学习CodeIgniter,使用版本3.0,PHP 5.5,WAMP上的MySQL和Sublime Text 3作为我的编辑器。我正在尝试加载视图,但即使打开了error_reporting,页面也是空白而没有错误。当我回显我的数组时,它会显示数据。以下是我的表格和代码
以下是我的模型,控件和视图的代码
MODEL(product.php)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Product extends CI_Model {
function get_products() {
$this->db->select()->from('products')->order_by('name','desc');
$query=$this->db->get();
return $query->result_array();
}
}
CONTROLLER(products.php)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Products extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->model('product');
$data['products']=$this->product->get_products();
$this->load->view('pro_index', $data, TRUE);
//echo "<pre>"; print_r($data['products']); "</pre>";
}
}
VIEW(pro_index.php)
<!DOCTYPE html>
<html lang="">
<head>
<!-- Required meta tags always come first -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Title Page</title>
</head>
<body>
<?php
if (isset($products)) {
foreach ($products as $row) {
echo "<div>"."<h2>".$row["name"]."</h2>"."</div>";
echo "what is this?";
}
}
?>
</body>
</html>
我可能做错了什么?
答案 0 :(得分:1)
在您的Controller中,尝试删除第三个参数(TRUE)。
这用于返回数据(例如JSON等)
//this->load->view('pro_index', $data, TRUE);
this->load->view('pro_index', $data);
答案 1 :(得分:0)
试试这个
public function index()
{
$this->load->model('product');
$this->data['products']=$this->product->get_products();
$this->load->view('pro_index', $this->data, TRUE);
}
答案 2 :(得分:0)
您使用&#34; $ data&#34;返回数组数据在您的视图页面中,您正在使用&#34; foreach($ products as $ row)&#34;。您必须将foreach循环$ products更改为$ data。
在模型中
$ this-&gt; load-&gt; view(&#39; pro_index&#39;,$ data,TRUE);
在视图页面
foreach($ products as $ row)