我正在尝试将一个数组传递给一个控制器的视图,但我不能,我也不知道为什么。
我有模型,控制器和视图。
模特:
<?php
class Modelo_bd extends CI_Model
{
public function datos()
{
$cnb=$this->db->query("SELECT * from anuncios");
return $cnb->result();
}
}
?>
控制器:
if($this->modelo_usuarios->puede_entrar($usr))
{
$this->load->model("modelo_bd");
$cbd=$this->modelo_bd->datos();
$this->load->view('datos',$cbd);
return true;
}
观点:
<?php
echo $cbd->titulo_a;
echo $cbd->contenido;
?>
错误在视图中。
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: cbd
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
为什么在视图中无法识别$ cbd变量,如果它是一个数组?我该如何解决?
感谢。
答案 0 :(得分:1)
在控制器:
中if($this->modelo_usuarios->puede_entrar($usr))
{
$this->load->model("modelo_bd");
$cbd=$this->modelo_bd->datos();
$this->load->view('datos', array('cbd' => $cbd);
return true;
}
第二个参数应该是数组。
您可以在模型中使用:
public function datos()
{
return $this->db->query("SELECT * from anuncios");
}
并在视图中:
<?php
foreach ($cdb->result() as $item) {
echo $item->titulo_a;
echo $item->contenido;
}
?>
答案 1 :(得分:0)
你应该这样做
if($this->modelo_usuarios->puede_entrar($usr))
{
$this->load->model("modelo_bd");
$data['cbd'] = $this->modelo_bd->datos();
$this->load->view('datos',$data);
}
答案 2 :(得分:0)
你不应该这样做:
控制器:
if($this->modelo_usuarios->puede_entrar($usr))
{
$this->load->model("modelo_bd");
$data['cbd']=$this->modelo_bd->datos();
$this->load->view('datos',$data);
return true;
}
观点:
<?php
foreach($cbd as $key => $row){
echo $row->titulo_a;
echo $row->contenido;
}
?>
我认为这更好,你的选择。