有人可以帮忙吗? 我认为我的代码没有问题。但我仍然无法在codeigniter上显示我的数据库。
这是我的代码:
观点:
<html>
<head>
<title>View Data</title>
</head>
<body>
<h1>View Data</h1>
<table border="0">
<tr>
<th>Id Buku</th>
<th>Judul Buku</th>
<th>Tahun Terbit</th>
</tr>
<?php if (is_array($coba)) foreach ($coba as $item) { ?>
<tr>
<td>
<?php echo $item->id_buku;?></td>
<td>
<?php echo $item->judul_buku;?></td>
<td>
<?php echo $item->tahun_terbit;?></td>
</tr>
<?php } ?>
</table>
</body>
</html>
型号:
<?php
class Test_model extends CI_Model{
//konstruktor; dipanggil saat pertama kali object dibuat
function __construct(){
parent::__construct();
/*
load database;
database yang di load adalah databse yang kita definisikan pada file database.php
*/
$this->load->library('table');
$this->load->database();
}
//fungsi yang akan mengambil data pada database
function get_all_book_data(){
//query data
$query = $this->db->get('tabel_coba');
}
}
?>
控制器:
<?php
class Test_controller extends CI_Controller{
/*
konstruktor;
dipanggil saat pertama kali object controller dibuat
load model
*/
public function __construct(){
parent::__construct();
$this->load->model('test_model');
}
/*
public method;
load view, tampilkan data pada class view
*/
public function get_book_data(){
$data['coba'] = $this->test_model->get_all_book_data();
$this->load->view('test_view', $data);
}
}
?>
仅供参考: 它是我的数据库:(数据库名称:留言簿)
答案 0 :(得分:2)
首先请确保您的数据库有自动加载 config / autoload.php,并在config / database.php中设置正确的详细信息
您可以找到有关用户指南http://www.codeigniter.com/userguide2/和http://www.codeigniter.com/userguide2/database/index.html
的所有信息第二次更改将图书数据转化为索引
class Test_controller extends CI_Controller{
public function __construct(){
parent::__construct();
$this->load->model('test_model');
}
public function index(){
// Checks if any in array
$data['coba'] = array();
// Gets data
$results = $this->test_model->get_all_book_data();
// Run get results in loop
foreach ($results as $result) {
$data['coba'][] = array(
'id_buku' => $result['id_buku'],
'judul_buku' => $result['judul_buku'],
'tahun_terbit' => $result['tahun_terbit']
);
}
$this->load->view('test_view', $data);
}
}
模型使用中的第三个if if语句检查是否为true;
并删除$this->load->library('table');
和$this->load->database();
当您在 config / database.php
class Test_model extends CI_Model {
public function get_all_book_data() {
// Change the tablename to what your table is.
$query = $this->db->get('tablename');
// Checks if there are any items greater than 0 meaning no data
if ($query->num_rows() > 0) {
return $query->result_array();
} else {
return false;
}
}
}
在视图中试试这个
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<?php if ($coba) { ?>
<?php foreach ($coba as $item) {?>
<tr>
<td><?php echo $item['id_buku'];?></td>
<td><?php echo $item['judul_buku'];?></td>
<td><?php echo $item['tahun_terbit'];?></td>
</tr>
<?php } ?>
<?php } else { ?>
<tr>
<td class="text-center" colspan="3">No Results</td>
</tr>
<?php } ?>
<tbody>
</table>
答案 1 :(得分:0)
从模型中删除
$this->load->library('table');
$this->load->database();
并放入您的控制器。
然后使用:
<?php foreach ($coba->result_array() as $item) { ?>
<tr>
<td>
<?php echo $item['id_buku'];?></td>
<td>
<?php echo $item['judul_buku'];?></td>
<td>
<?php echo $item['tahun_terbit'];?></td>
</tr>
<?php } ?>
抱歉,我忘了添加你的模特功能......
function get_all_book_data(){
//query data
$query = $this->db->get('tabel_coba');
return $query;
}
答案 2 :(得分:0)
我看到您的模型get_all_book_data()
在查询$query = $this->db->get('tabel_coba')
后没有返回任何内容
如果设置正确,请检查数据库配置。