Bir web sitesi projesinde blogların listelenmesi sayfasında eğer seçilen kategoriye ait blog yoksa ekranda “Bu kategoriye ait blog yazılmamıştır.” diye uyarı yazısı çıkacaktır. Bunun için urlden cat parametresiyle kategori id sini alıyorum ve ona göre sorgu çekiyorum.
Controller kısmı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Blog extends CI_Controller { public function index() { $data = (object) ['blog' => ""]; if (count($_GET) > 0 && isset($_GET["cat"])){ $this->db->where('categoryId', $_GET["cat"]); } $this->db->order_by("createdate", "desc"); $this->db->where('status', "1"); $q = $this->db->get('blogs'); $data->blog = $q->result(); $this->load->view('/blog',$data); } } ?> |
Eğer url den cat parametreyle değer geliyorsa where koşuluna o kategori idsine göre blogları çek diyorum. Eğer cat parametresiyle veri gelmiyorsa bütün blogları getir diyorum.
Views Kısmı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php if(count($blog) > 0){ //Eğer o kategoriye ait veri varsa listeleme işlemi yapacak. foreach($blog as $item => $value){ ?> <div> <div> <img src="<?php echo base_url(); ?>content/img/<?php echo $value->image ?>" /> </div> <div style="width:calc(100% - 220px);"> <p> <b><?php echo $value->title ?></b> </p> <p> <i>01/01/2017</i> </p> <p><?php echo $value->description; ?></p> <a class="easing" href="<?php echo base_url(); ?>subblog?blog=<?php echo $value->id ?>"> <button type="submit" class="btn btn-primary">Devamı...</button> </a> </div> </div> <?php } } else{echo "Bu kategoriye ait blog yazılmamıştır.";} // veri yoksa bu ifadeyi yazacak ?> |
0 yorum