4

CodeIgniterを使用してテーブルを表示しようとしています。ボタンがクリックされたときにforeachループを使用して、1つのテーブルからすべてのデータを選択して表示する機能を作成しました。このエラーが発生しています:

Fatal error: Call to undefined method CI_DB_mysql_driver::result() in C:\Xampp\htdocs\Auction\application\models\bidding_model.php on line 47

これは私のコントローラーページです:

public function viewauction()
{
    $this->load->model('bidding_model');
    $data['query'] = $this->bidding_model->viewauction();   
    $this->load->view('auction_view', $data);
}

これはモデルです:

function viewauction()
{
    $query =  $this->db->select('products'); 
    return $query->result();
}

これはビューです:

<tbody>
<?php foreach($query as $row): ?>
<tr>   
    <td><?php echo $row->product_id; ?></td>
    <td><?php echo $row->auction_id; ?></td>
    <td><?php echo $row->start_time; ?></td>
    <td><?php echo $row->end_time; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
4

6 に答える 6

3

モデルメソッドコードを次のように変更するだけです

function viewauction()
{
    $query = $this->db->select('*')->from('products')->get();
    return $query->result();
}

お役に立てれば。ありがとう!!

于 2013-02-25T03:20:08.803 に答える
0

あなたの問題はここにあります:

$query =  $this->db->select('products'); 
return $query->result() ;

$query->result()おそらくproductsテーブルが存在しないため、falseを返しています。select の代わりに get を使用する必要があります。

試す:

$query =  $this->db->get('products'); 
return $query->result() ;

それはあなたのスタートを切ることができます

于 2013-02-25T05:20:59.183 に答える
0

実はもっと簡単な方法があります。

提供されているフレームワーク機能を最大限に活用する必要があります。

使用、CodeIgniter のテーブル ライブラリ、

$this->load->library('table'); // Loading the Table Library 

$query = $this->db->get('table_name'); // the MySQL table name to generate HTML table

echo $this->table->generate($query); // Render of your HTML table

テーブルのヘッダーやボディのクラスなど、ほとんど必要になるようなカスタムが必要な場合は、HTML ジェネレーターの動作を変更することもできます。

$this->table->set_template($template); // passing an array

テーブル ライブラリをロードした後、この行を使用します。以下のドキュメント リンクのキーを使用します。

リファレンス: CodeIgniter 3 テーブル ライブラリ - 公式ドキュメント

于 2016-11-24T12:31:27.530 に答える
0

使用する必要がありますget()

select()クエリビルダーは、テーブルではなくテーブルの列を選択するために使用されます

$query = $this->db->select(array('product_id','auction_id'))
                  ->get('products');
return $query->result();

すべてを選択したい場合は、get のみを使用できます。

詳細については、 http://ellislab.com/codeigniter/user-guide/database/active_record.html#selectをご覧 ください。

于 2013-02-25T00:53:18.530 に答える