仅显示包含项目列表中图像的数据

时间:2016-04-16 11:47:54

标签: php mysql codeigniter

这里有一个包含图像和非图像的项目列表,我想显示有图像的项目.. 这是我的观点页面

 <?php foreach($clients as $row){?>
 <?php $images=json_decode($row->image);{?>
 <?php if($images){;?>
    <div class="client"> <img src="<?php echo base_url();?>images/<?php echo $images[0];?>" alt="" class="grayscale wow bounceIn"  data-wow-delay=".1s"> </div>

 <?php }}}?>

这是我的控制器..

public function index($p_id=null)
{
    $data['active_mn']='index';
    $data['clients']=$this->Nowaste_model->get_clients($p_id=4,6,0);
    $this->load->view('index',$data);
}

这是我的模特

public function get_clients($p_id,$limit,$offset)
  {

  $this->db->select('client.*','category.id');
  $this->db->join('category','category.id=client.category_id');
  $this->db->order_by('client.id','desc');
  $this->db->where('category.id',$p_id);
  $query = $this->db->get('client',$limit,$offset);
  return $query->result();
}

这是我的表名客户端

id  image                        category_id
1   ["upld-file1460797715.jpg"]     6
2   ["upld-file1460797733.jpg"]     6
3   ["upld-file1460797831.jpg"]     6
4   ["upld-file1460797847.jpg"]     6
5   ["upld-file1460797864.jpg"]     6
6   ["upld-file1460797882.jpg"]     6
7     null                          6
8     null                          6
9     null                          6
10    null                          6

我的加入表名称类别如下所示

id  category_name   parent_id
    6   builders        4
    4   client          0
    7   hospitals       4
    8   municipalties   4

这里面临的问题是所有数据都显示在这里我不需要我只需要有图像来diplayed.if限制被删除iam得到所有图像但我想使用限制

3 个答案:

答案 0 :(得分:0)

将您的获取客户端功能更改为以下内容:

$query = new Query;
$query  ->select(['SELECT COLUMNS']) 
        ->from('TABLE_NAME_1')
        ->join(  'JOIN_TYPE',
                'TABLE_NAME_2',
                'TABLE_NAME_2.COLUMN =TABLE_NAME_1.COLUMN'
            );
$command = $query->createCommand();
$data = $command->queryAll();
return $data;

答案 1 :(得分:0)

在模型中尝试此代码

public function get_clients($p_id,$limit,$offset)
{

   $this->db->select('client.*','category.id');
   $this->db->join('category','category.id=client.category_id');
   $this->db->order_by('client.id','desc');
   $this->db->where('category.id',$p_id);
   $this->db->where('client.image !=', 'NULL');
   $query = $this->db->get('client',$limit,$offset);
   return $query->result();
}

答案 2 :(得分:0)

我已经改变了我的模型,我得到了它

 public function get_clients($p_id,$limit,$offset)
  {
   $this->db->select('client.*','category.id');
   $this->db->join('category','category.id=client.category_id');
   $this->db->order_by('client.id','desc');
   $this->db->where('client.image !=', 'NULL');
   $query = $this->db->get('client',$limit,$offset);
   return $query->result();
  }