问题
Can someone show me how to pass data to the a view when it's extracted from the database via the model (which returns a single row) :
my sample code
function read_article($article_name)
{
$data['row'] = $this->user_model->extract_article($article_name);
$this->load->view('user/view_article',$data);
}
// controller code ^^^^^^^^^
function extract_article($article_name)
{
$data = array();
$this->db->select('col1,col2,col3,col4');
$query = $this->db->get_where('table_name',array('col4'=>$article_name))->result();
foreach($query as $s)
{
$data[] = $s;
}
$data;
}
// model code ^^^^^^^^^^
foreach($row as $r)
{
echo "<h1>".$r->col2."</h1>";
echo "<p>".$r->col3."</p>";
}
// view code ^^^^^^^^^
A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: user/view_article.php
Line Number: 52
回答1:
RTM
$query = $this->db->query("YOUR QUERY");
if ($query->num_rows() > 0)
{
$row = $query->row();
echo $row->title;
echo $row->name;
echo $row->body;
}
来源:https://stackoverflow.com/questions/18664062/how-to-extract-one-single-row-in-code-igniter