4

我正在尝试使用CodeIgniter显示表格。我做了一个函数来从一个表中选择所有数据,并在单击按钮时使用 foreach 循环显示它。我收到此错误:

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

你必须使用get()

select()查询生成器用于选择表的列而不是表

例子

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

如果你想选择所有你可以使用 get only,

在http://ellislab.com/codeigniter/user-guide/database/active_record.html#select阅读更多

于 2013-02-25T00:53:18.530 回答
0

你的问题在这里:

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

$query->result()返回 false 可能是因为 products 表不存在。您必须使用 get 而不是 select。

尝试:

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

这可以让你开始

于 2013-02-25T05:20:59.183 回答
0
public function select($table, $field, $value)
{
    $this->db->select(*);
    $this->db->from('$table');
    $this->db->where($field, $value);
    $query = $this->db->get();

    return $query;
}

我希望上面的代码对你有帮助。

于 2016-11-24T11:31:35.980 回答
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
function viewauction()
{
    $this->db->select('*'); 
    $this->db->from('tablename');
    $query = $this->db->get();
    return $query->result();
}

上面的代码会帮助你。

于 2017-11-13T10:03:04.203 回答