有人能帮忙吗?
我认为我的代码没有问题。但我还是不能在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>

10-01 12:16
查看更多