Welcome Guest, Not a member yet? Register   Sign In
How to use a datepicker filter in codeIgniter ?
#1

    I want to make a date filter only by year for my event page so people can filter by year so they can see what events are happening by year, but many people are using between date filter which is hard for me to understand, is there anyone can help me build a datepicker filter by year  Huh 

this is my controller : 

Code:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Exhibitions extends CI_Controller {
   
   function __construct() {
       parent::__construct();

       $this->load->helper('general_helper');
       $this->load->helper('date');
       //load pagination library
       $this->load->library('pagination');
       //load post model
       $this->load->model('exhibitions_model');
       //per page limit
       $this->perPage = 10;
   }
   
   public function index(){
       $data = array();
       
       //get rows count
       $conditions['returnType'] = 'count';
       $totalRec = $this->exhibitions_model->getRows($conditions);
       
       //pagination config
       $config['base_url'] = 'http://localhost/demo1/index.php/exhibitions/index';
       $config['uri_segment'] = 3;
       $config['total_rows']  = $totalRec;
       $config['per_page']    = $this->perPage;
       
       //styling
       $config['num_tag_open'] = '<li class="page-item">';
       $config['num_tag_close'] = '</li>';
       $config['cur_tag_open'] = '<li class="page-item active"><a class="page-link" href="javascript:void(0);">';
       $config['cur_tag_close'] = '</a></li>';
       $config['next_link'] = 'Next';
       $config['prev_link'] = 'Prev';
       $config['next_tag_open'] = '<li class="page-item">';
       $config['next_tag_close'] = '</li>';
       $config['prev_tag_open'] = '<li class="pg-prev">';
       $config['prev_tag_close'] = '</li>';
       $config['first_tag_open'] = '<li>';
       $config['first_tag_close'] = '</li>';
       $config['last_tag_open'] = '<li>';
       $config['last_tag_close'] = '</li>';
       
       //initialize pagination library
       $this->pagination->initialize($config);
       
       //define offset
       $page = $this->uri->segment(3);
       $offset = !$page?0:$page;
       
       //get rows
       $conditions['returnType'] = '';
       $conditions['start'] = $offset;
       $conditions['limit'] = $this->perPage;
       $data['omg_event'] = $this->exhibitions_model->getRows($conditions);
       
       //load the list page view
       
      $this->load->view('templates/header', $data);
     $this->load->view('pages/exhibitions', $data);
      $this->load->view('templates/footer');
   }
   
}


this is my model : 
Code:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Exhibitions_model extends CI_Model{
   /*
    * Get posts
    */
   function getRows($params = array()){
       $this->db->select('*');
       $this->db->from('omg_event');
       $this->db->order_by("date_start", "desc");

       if(array_key_exists("event_id",$params)){
           $this->db->where('event_id',$params['event_id']);
           $query = $this->db->get();
           $result = $query->row_array();
       }else{
           //set start and limit
           if(array_key_exists("start",$params) && array_key_exists("limit",$params)){
               $this->db->limit($params['limit'],$params['start']);
           }elseif(!array_key_exists("start",$params) && array_key_exists("limit",$params)){
               $this->db->limit($params['limit']);
           }
           
           if(array_key_exists("returnType",$params) && $params['returnType'] == 'count'){
               $result = $this->db->count_all_results();
           }else{
               $query = $this->db->get();
               $result = ($query->num_rows() > 0)?$query->result_array():FALSE;
           }
       }

       //return fetched data
       return $result;
   }
}
?>

this is my view : 

Code:
<head>
   <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/css/bootstrap-datepicker.css" rel="stylesheet">  
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>  
   <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/js/bootstrap-datepicker.js"></script>

 <!-- jQuery -->
 <script type="text/javascript" charset="utf8" src="https://code.jquery.com/jquery-1.12.4.js"></script>
 <!-- DataTables -->
 <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>

</head>


<!--===============================
=            Hero Area            =
================================-->

<section class="hero-area bg-1 text-center overly">
 <!-- Container Start -->
 <div class="container">
   <div class="row">
     <div class="col-md-12">
       <!-- Header Contetnt -->
       <div class="content-block">

       <div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
       <div class="carousel-inner">
         <div class="carousel-item active">
           <img src="<?php echo base_url() ?>img/ads/ad1.jpg" class="d-block w-100" alt="...">
           <div class="carousel-caption d-none d-md-block">
             <br><br><br><br><br><br>
          <h2>Welcome to Industrial Guide Asia</h2>
           <p>As the annual industrial directory, we provides you up-to-date information from the manufacturing, engineering and trading companies classifying advertisements and listing Products & Services, Brand Titles and Trade Shows. Click the button bellow to see around the website !</p>
         </div>
         </div>

         <div class="carousel-item">
           <img src="<?php echo base_url() ?>img/ads/ad2.jpg" class="d-block w-100" alt="...">
           <div class="carousel-caption d-none d-md-block">
             <br><br><br><br><br><br>
           <h2>Our Website Is upgrading</h2>
           <p>Please bare with us if you encounter some problems when you are visiting our websites. We are fixing our website to give you a good website that will be more corporate and user friendly.  </p>
         </div>  
         </div>

         <div class="carousel-item">
           <img src="<?php echo base_url() ?>img/ads/ad3.gif" class="d-block w-100" alt="...">
           <div class="carousel-caption d-none d-md-block">
             <br><br><br><br><br><br>
             <h2>Don't miss every Event this Year</h2>
             <p>Visit the Event page to check what Event that will be held this Year</p>
           </div>
         </div>
       </div>

       <a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
         <span class="carousel-control-prev-icon" aria-hidden="true"></span>
         <span class="sr-only">Previous</span>
       </a>
       <a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
         <span class="carousel-control-next-icon" aria-hidden="true"></span>
         <span class="sr-only">Next</span>
       </a>
     </div>
         
       </div>
     
       
     </div>
   </div>
 </div>
 <!-- Container End -->
</section>

    <!--==========================
     Services Section
   ============================-->
       <section class="blog single-blog section">
   <section id="services">
     <div class="container">
         <div class="section-title">
         <h2>EXHIBITIONS ROADSHOWS & SEMINAR</h2>
         <p></p>
       </div>      

<table class="table table-hover">
 <div class="category-search-filter">
         <div class="row">
           <div class="col-md-3">
           Filter
             <div class="widget search p-0">
           <div class="input-group">
              <input type="text" name="order_end_date" value="" class="date-own form-control" id="order-end-date" placeholder="Search">
                <button name="filter_order_filter" type="button" class="btn" id="filter-order-filter" value="filter"><i class="fa fa-search fa-fw"></i></button>
               
             </div>
         </div>


 <script type="text/javascript">
     $('.date-own').datepicker({
        minViewMode: 2,
        format: 'yyyy'
      });
 </script>
           </div>
         </div>
       </div>
<?php if(!empty($omg_event)): foreach($omg_event as $post): ?>
 <thead>
   <tr>
   

   </tr>
 </thead>
 <tbody>
 

   <tr>
     <th scope="row"> <?php if(!empty($post['thumb_img'])){ ?>
       <img src="<?php echo base_url().image('upload/'.$post['thumb_img'],120,53); ?>" alt="">
      <?php } ?></th>
     <td width="15%"><?php echo  dateFormat($post['date_start'], 'd/m/Y').' - '.dateFormat($post['date_end'], 'd/m/Y');?></td>
     <td><?php echo $post['name'];?></td>
     <td><?php echo $post['address'];?></td>
     <td width="15%""><a href="">Send Enquiry</a></td>
   </tr>
 <?php endforeach; else: ?>
               <tr><td colspan="3">Post(s) not found......</td></tr>
               <?php endif; ?>
 </tbody>
</table>

    <!-- Pagination -->
       <nav aria-label="Page navigation example">
         <ul class="pagination">
           <?php echo $this->pagination->create_links(); ?>
         </ul>
       </nav>
     
     </div>    

     

     </div>
   </section><!-- #services -->
 </section>
Reply


Messages In This Thread
How to use a datepicker filter in codeIgniter ? - by firas - 02-20-2019, 06:48 PM



Theme © iAndrew 2016 - Forum software by © MyBB