代码点火器未定义变量结果问题

时间:2017-05-04 23:02:39

标签: php html mysql codeigniter

我尝试通过每个循环从数据库加载照片,以在格式化的div中显示每张照片。但是我一直收到一个未定义的变量结果,我不确定为什么

这是我的观看代码

  <?php echo form_open(base_url('index.php/smite/getimages/1/1'));?>
              <?php foreach($imgres as $imgdata){?>
                    <img class="img-box" src="<?php echo base_url("assets/img/".$imgdata['name'].".".$imgdata['type']);?>">
                    <p style="font-size:140%"><?php echo $imgdata['description']?></p>
              <?php }?>
              <?php echo form_close();?>

这是控制器代码

class Smite extends CI_Controller {

private $data = "";
private $session_data = array();

public function __construct()
{
    parent::__construct();
    $this->load->helper(array('form', 'url'));
    $this->load->library(array('form_validation', 'session'));
    $this->load->model(array('users_model','comments_model','images_model'));
}

public function getimages($g1,$g2){
    $this->data['imgres'] = $this->images_model->get_images($g1,$g2);
    $this->load_page("smite");

}

此外,控制器是一个加载页面视图并发送数据的功能

    private function load_page($page)
{
    $this->data['page'] = $page;
    $this->load->view('template/head');
    $this->load->view('template/nav',$this->data);
    $this->load->view($page."_view",$this->data);
    $this->load->view('template/footer');
    $this->load->view('template/login_register_modal');
    $this->load->view('template/scripts',$this->data);
}

查询运行正常并在mysql服务器上测试时返回结果,但我不确定为什么它没有将结果返回到视图。这些是服务器错误消息

  

遇到PHP错误

     

严重性:注意

     

消息:未定义的变量:imgres

     

文件名:views / smite_view.php

     

行号:28

接着是

  

遇到PHP错误

     

严重性:警告

     

消息:为foreach()提供的参数无效

     

文件名:views / smite_view.php

     

行号:28

1 个答案:

答案 0 :(得分:1)

像这样改变你的控制器

public function getimages($g1,$g2){
    $data['imgres'] = $this->images_model->get_images($g1,$g2);
    $this->load->view("smite",$data);

}
然后在images_model中的get_images函数中编写查询以从数据库中获取图像数据

相关问题