使用CodeIgniter从PHP中的数据库表中选择记录并传递给视图

时间:2013-01-30 11:13:01

标签: php codeigniter

我正在使用CodeIgniter在PHP中进行查询,以从数据库中获取我想要的数据。为了能够获取特定列的所有值,我将其存储到数组中并将其传递到视图中。但我只能为一个专栏做这件事。

这是我的代码:

$query = $this->db->query('SELECT name, description FROM module');

$result = $query->result_array();

foreach ($result as $key => $rowdata) { 
    $resultdata['values'][$key] = $rowdata['name'];    
}

$this->load->view('myview', $resultdata);

通过这种情况,我可以从模块表中获取所有名称。但我的问题是,我也希望获得模块表中的所有描述,但我不知道如何实现它并能够将其传递到视图中。希望有人可以帮助我。谢谢!

4 个答案:

答案 0 :(得分:2)

你没有使用MVC模式!

首先,您应该在模型中编写查询!

然后将其加载到您的控制器中,就像这样

$this->load->model('ModelName');

然后调用funcion来检索数据

$data = $this->modelname->functionToRetreiveData();

然后使用foreach

循环数据
$dataToView = array();
foreach($data as $key=>$row)
{
   $dataToView['something'][$key]['value'] = $row->name_of_column;
}

将数组传递给视图$ this-> load-> view('someview',$ dataToView);

然后在视图中

foreach($value as $val):
<p><?php echo $val['name']?><p>
endforeach

答案 1 :(得分:1)

你好,你将在控制器中循环两次,然后在视图中打印它,检查出来

//在控制器中

 $query = $this->db->query('SELECT name,description FROM module');

    $resultdata['results'] = $query->result_array();

    $this->load->view('myview',$resultdata);

<强> myview.php

foreach($results as $result)
{
    echo $result['name'],' ',$result['description'];
}

答案 2 :(得分:1)

$query = $this->db->query('SELECT name,description FROM module');

$result = $query->result_array();

foreach($result as $rowdata){    
  $resultdata['values'][] = $rowdata;    
}

$this->load->view('myview',$resultdata);

尝试查看:

print_r($values);

你可能会:

$result[0]['name'],  $result[0]['description'] ...

答案 3 :(得分:0)

$this->load->database();

$this->db->select('employee');

$query = $this->db->get();

return $query;

foreach ($query as $row) {
    print $row->'Name';
    .
    .
    .
    print $row->'Address';
}