<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class User_model extends CI_Model
{
private $table ='user';
private static $DB;
public function __construct()
{
parent::__construct();
self::$DB = $this->load->database('dev', TRUE);
}
public function getStatisticsUserCount($stime,$etime)
{ self::$DB->where('createTime >',$stime);
self::$DB->where('createTime <',$etime);
return self::$DB->count_all_results($this->table);
}
public function getStatisticsAgeUserCount($satime,$eatime)
{ self::$DB->where('birthday >=', "$satime");
self::$DB->where('birthday <',"$eatime");
return self::$DB->count_all_results($this->table);
}
public function getStatisticsSexUserCount($type=0,$stime=0,$etime=0)
{ if(!empty($stime)){
self::$DB->where('createTime >',$stime);
}
if(!empty($etime)){
self::$DB->where('createTime <',$etime);
}
self::$DB->where('sex',$type);
return self::$DB->count_all_results($this->table);
}
public function getUserByNamePass($username, $password)
{
$sql = self::$DB->query('SELECT * FROM `user` WHERE (`userName` = "'.$username.'" OR `email` = "'.$username.'" OR `phone` = "'.$username.'") AND `password` = "'.md5($password).'" and active=0');
return $sql->row_array();
}
public function getUserList($where=array(), $select = '*',$limit=10,$start=0)
{
$param = $this->_getWhere($where);
self::$DB->select($select);
self::$DB->where($param);
self::$DB->where('deleteFlag','0');
self::$DB->order_by('userId','desc')->limit($limit, $start);
return self::$DB->get($this->table)->result_array();
}
public function getUserAllList()
{
self::$DB->order_by('userId','desc');
return self::$DB->get($this->table)->result_array();
}
public function getUserRow($userId=0)
{
self::$DB->where('id', $userId);
$result = self::$DB->get($this->table);
return $result->row_array();
}
public function getUserInfoRow($userId=0)
{
self::$DB->where('userId', $userId);
self::$DB->where('typeFlag', 0);
$result = self::$DB->get('userinfo');
return $result->row_array();
}
public function insertData($userData)
{
$bool = self::$DB->insert($this->table, $userData);
$res = $bool ?self::$DB->insert_id() : false;
return $res;
}
public function setUserByID($updateData, $userId)
{
self::$DB->where('userId', $userId);
return self::$DB->update($this->table, $updateData);
}
public function updateNum($data,$userId=0)
{
foreach ($data as $k => $v)
{
self::$DB->set($k, $v, FALSE);
}
self::$DB->where('userId', $userId)->update( $this->table );
return self::$DB->affected_rows();
}
public function getUserCount($where=array())
{
return self::$DB->count_all_results($this->table);
}
public function _getWhere( $where=array() )
{
$param = array();
if (!empty($where['realName']))
{
$param['realName like'] = '%'.strval($where['realName']).'%';
}
if (!empty($where['userName']))
{
$param['userName like'] = '%'.strval($where['userName']).'%';
}
if (!empty($where['phone']))
{
$param['phone like'] = '%'.strval($where['phone']).'%';
}
if (!empty($where['email']))
{
$param['email like'] = '%'.strval($where['email']).'%';
}
if (isset($where['userFlag']) && $where['userFlag']!='-1')
{
$param['userFlag'] = intval($where['userFlag']);
} $param['deleteFlag'] = intval(0);
return $param;
}
public function checkUnique($name,$userId=0)
{
$sql1 ='';
if(!empty($userId)){ $sql1=' and userId !='.$userId;}
$sql = self::$DB->query('SELECT * FROM `user` WHERE (`cellphone` = "'.$name.'")'.$sql1); return $sql->row_array();
}
public function checkEmail($name,$userId=0)
{
if($name)
{
self::$DB->where('email', $name);
}
if(!empty($userId))
{
self::$DB->where('userId !=', $userId);
}
$result = self::$DB->get($this->table);
return $result->row_array();
}
public function checkPhone($name,$userId=0)
{
if($name)
{
self::$DB->where('phone', $name);
}
if(!empty($userId))
{
self::$DB->where('userId !=', $userId);
}
$result = self::$DB->get($this->table);
return $result->row_array();
}
public function checkPassword($password,$userId=0)
{
self::$DB->where('password', md5($password));
self::$DB->where('userId', $userId);
$result = self::$DB->get($this->table);
return $result->row_array();
}
public function checkPhoneEmail($param,$userId=0,$type='phone')
{
self::$DB->where($type, $param);
self::$DB->where('userId', $userId);
$result = self::$DB->get($this->table);
return $result->row_array();
}
public function delete( $userId )
{
self::$DB->where( 'id', $userId );
$query = self::$DB->delete( $this->table);
return $query ? $userId : false;
}
}
?>