使用codeigniter将今天的日期与mysql表中的日期进行比较

时间:2017-04-28 10:06:57

标签: php mysql codeigniter codeigniter-2 codeigniter-3

我希望通过比较今天的日期来显示模块过期的警报,即如果今天的日期大于mysql中的end_date,则应显示警告消息,但我如何比较这两个?

我的型号代码如下

	function check_admin_login(){
			
			$this->db->where('username', trim($this->input->post('username')));
			$this->db->where('userpass ', sha1(trim($this->input->post('userpass'))));
			$this->db->where('status', '1');
			$this->db->where('deleted', '0');
			$this->db->select('*');
			$query = $this->db->get($this->myTables['users']);
			if($query->num_rows() > 0){
				$row = $query->row();
				$this->db->where('userid', $row->id);
				$this->db->select('firstname,lastname,profileimage,company');
				$query1 = $this->db->get($this->myTables['users_details']);
				$row1 = $query1->row();
				$newdata = array(
									'is_admin_logged_in' => true,
									'admin_user_name' => $row->username,
									'admin_userpass' => $row->userpass,
									'admin_id'=>$row->id,
									'admin_lastlogin'=>date("d-m-Y H:i:s",$row->lastlogin),
									'admin_lastloginip'=>$row->lastloginip,
									'lastrefresh'=>time(),
									'company'=>$row1->company 
							);
							$company = $row1->company;
					$this->session->set_userdata($newdata);	
				$companyName = $this->session->userdata['company'];
			
				$this->update_admin_login_time($this->session->userdata('admin_id'));
				$this->admin_init_elements->set_global_user($row->username,$row->userpass);
				if($this->input->post('remember'))
				{
					$cookie = array('name'   => 'username','value'  => $row->username,'expire' =>  time()+7600,'secure' => false);
					$this->input->set_cookie($cookie);
				}
				$name = $row1->firstname.' '.$row1->lastname;
				$cookie1 = array('name'   => 'name','value'  => $name,'expire' =>  time()+7600,'secure' => false);
				$this->input->set_cookie($cookie1); 
				$cookie2 = array('name'   => 'image','value'  => $row1->profileimage,'expire' =>  time()+7600,'secure' => false);
				$this->input->set_cookie($cookie2); 
				
		$companyName = $companyName = $this->session->userdata('company');
		
			$otherdb = $this->load->database("$companyName", TRUE);

			
				$query1 = $this->db->query("Select * from pr_package");
				$today = new DateTime();
$compare = $today->format('Y-m-d');
				$date = date('Y-m-d');
				$this->db->where("end_date <", 
$compare);
			//$this->db->where('status','INACTIVE');
				if($query1->num_rows() > 0)
			{
				return 'inactive';
			}
			else
			{
				
					return 'Login Successful';
			}
		
		
			}else{
				return 'Incorrect Username or Password.';
			}
			
		}

我的控制器代码如下:

    function index(){
        //if Admin already logged in, send to Admin home
		
		$this->data['message']='';
		$this->data['msg_class'] = '';
		$post_array=$this->input->post();
		
		$data['old_images']=$this->mod_common->getBgImages();
		
		if($this->input->cookie('remember') == 'on')
		{
			//echo $this->input->cookie('username');
			$this->data['message']=strip_tags($this->mod_login->check_cookie_login());
			if($this->data['message']=='Login Successful'){
				$this->data['msg_class'] = 'sukses';
				 redirect('home');				
			}else{
				$this->data['msg_class'] = 'gagal';
			}
		} 
      	if($this->input->post('action')=='adminLogin'){
		
		//print_r($this->input->post()); die;
				
			if(isset($post_array['remember'])){
				$username_cookie= array(
					'name'   => 'uusername',
					'value'  => $post_array['username'],
					'expire' => '865000',
					'secure' => FALSE
				);
				
				$password_cookie= array(
					'name'   => 'userpass',
					'value'  => $post_array['userpass'],
					'expire' => '865000',
					'secure' => FALSE
				);
				
				$remember_cookie= array(
					'name'   => 'remember',
					'value'  => 'on',
					'expire' => '865000',
					'secure' => FALSE
				);

				$this->input->set_cookie($username_cookie); 
				$this->input->set_cookie($password_cookie); 
				$this->input->set_cookie($remember_cookie); 
				//die;
				
			}
			else
			{
				if($this->input->cookie('remember') == 'on')
				{
					if($this->input->cookie('uusername') != $post_array['username'])
					{
						delete_cookie("remember");
						delete_cookie("uusername");
						delete_cookie("userpass");
					}
				} 
			}
			
			$this->data['message']=strip_tags($this->mod_login->validate_admin_login());
			if($this->data['message']=='Login Successful'){
				$this->data['msg_class'] = 'sukses';
				 redirect('home');				
			}
			
			elseif($this->data['message']=='inactive')
			{
				
				echo '<script>alert("Inactive modules present in your system please Relogin")</script>';
				$this->index;
			}
			else{
				$this->data['msg_class'] = 'gagal';
			}
		} /*else if(isset()){
			
		}*/
		
		
	///////////////////////
		$this->data['cookieRemember'] = $this->input->cookie('remember');
		$this->data['cookieUsername'] = $this->input->cookie('username');
		$this->data['cookiePassword'] = $this->input->cookie('userpass');
		//echo $this->data['cookieRemember'];echo $this->data['cookieUsername']; echo $this->data['cookiePassword'];
	//////////////////////
	
		$this->data['cookiename']  = $this->input->cookie('name', false);
		$this->data['cookieimage'] = $this->input->cookie('image', false);
		
		$sess_msg = $this->session->userdata('session_msg');
		$session_msg_class = $this->session->userdata('session_msg_class');
		if(isset($sess_msg) && $sess_msg!= ''){
			$this->data['message']=$sess_msg;
			$this->data['msg_class'] = $session_msg_class!=''?$session_msg_class:'gagal';
		}
        //render full layout, specific to this function
        $this->load->view('login', $this->data);
    }

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试使用DateTime对象。

$today = new DateTime();
$compare = $today->format('Y-m-d');

然后在你的WHERE子句中它将是:

WHERE end_date < '$compare'

让我知道你是怎么过的! : - )