有人能帮忙吗?
我认为我的代码没有问题。但我还是不能在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);
}
}
?>
仅供参考:
我的数据库:(数据库名称:留言簿)
最佳答案
首先,确保已经自动加载了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语句来检查是否正确或错误;
在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>