我是Codeigniter的新手,正在从事电子商务模板的开发。默认情况下,每当点击index()
时,它就会显示不同部分中的所有产品(以html格式),并且我想使其动态化,因此我应该使用index()
中的查询来获取不同类型的记录还是还有其他方法吗?这是我的代码:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Home extends CI_Controller {
public function index()
{
//echo "hello world";
$this->load->view('index');
}
}
?>
答案 0 :(得分:2)
首先需要根据您的要求创建数据库和表。 然后,您可以创建模型以供参考,请检查以下链接:https://www.codeigniter.com/userguide3/general/models.html
<?php
class Blog_model extends CI_Model {
public function get_data_first()
{
$query = $this->db->get('entries', 10);
return $query->result();
}
public function get_data_second()
{
$query = $this->db->get('entries', 10);
return $query->result();
}
}
?>
制作完模型后,转到您的控制器并添加它,例如:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Home extends CI_Controller {
public function index()
{
$this->load->model('my_model');
$data['first_list'] = $this->my_model->get_data_first();
$data['second_list'] = $this->my_model->get_data_second();
//echo "hello world";
$this->load->view('index', $data);
}
}
?>
然后在索引文件中使用参数:
<html>
<head></head>
<body>
<?php
if($first_list){
foreach($first_list as $each){
echo $each->my_param;
}
}
?>
<?php
if($second_list){
foreach($second_list as $each){
echo $each->my_param2;
}
}
?>
</body>
</html>
希望这对您有所帮助。
答案 1 :(得分:1)
在Models文件夹中,写入Home_model.php文件以查询数据库。 假设您有一个名为“产品”的表。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home_model extends CI_Model{
public function __construct()
{
parent::__construct();
}
public function getProducts()
{
$this->db->from('products');
$query=$this->db->get();
$out = $query->result_array();
return $out;
}
}
'getProducts'函数将从'products'表中获取所有产品。 现在,在控制器中加载“数据库”库和模型。
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Home extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->model('home_model');
$this->load->library('database');
}
public function index(){
$products = array();
$products = $this->home_model->getProducts();
$this->load->view('index',$products);
}
}
在控制器的索引函数中,可以调用模型的“ getProduct”函数,并且可以将数据传递给视图。
模型的文档链接。
我希望这会有所帮助。