2014-10-07 21 views
0

我試圖顯示每個users.Help e,以解決這個問題..我的意思是我想精確查詢...在此先感謝以下是用戶控制器我要個人計數對於codeigniter中的每個用戶

用戶控制器:

function GetCandidate($options = array()) { 
    if(isset($options['candidateId'])) 
    $this->db->where('candidateId',$options['candidateId']); 

    if(isset($options['userId'])) 
     $this->db->where('canUserId',$options['userId']); 

    if(isset($options['userBranch'])) 
     $this->db->where('canUserBranch',$options['userBranch']); 

    if(isset($options['candidateFname'])) 
    $this->db->where('candidateFname',$options['candidateFname']); 

    if(isset($options['candidateMname'])) 
    $this->db->where('candidateMname',$options['candidateMname']); 

    if(isset($options['candidateLname'])) 
    $this->db->where('candidateLname',$options['candidateLname']); 

    if(isset($options['candClient'])) 
    $this->db->where('candClient',$options['candClient']); 

    if(isset($options['candRequirement'])) 
    $this->db->where('candRequirement',$options['candRequirement']); 


    if(isset($options['activateddate'])) 
    $this->db->where('activateddate',$options['activateddate']); 

    if(isset($options['limit']) && isset($options['offset'])) 
    $this->db->limit($options['limit'], $options['offset']); 
    else if(isset($options['limit'])) 
    $this->db->limit($options['limit']); 

    if(isset($options['join'])){ 
    $this->db->select('can . * ,c.clientName,r.requirementName,r.designation,u.userName,u.userMName,u.userLName'); 
    $this->db->from('candidates as can'); 
    $this->db->join('clients as c','can.candClient=c.clientId '); 
    $this->db->join('requirement as r','r.requirementId=can.candRequirement'); 
    $this->db->join('users as u','can.canUserId=u.userId '); 
    $this->db->order_by("candidateId", "desc"); 
    $query = $this->db->get(); 

    if(@$options['candidateId']) return $query->row(0); 
    return $query->result(); 
    } 
    $this->db->order_by("candidateId", "desc"); 

    $query = $this->db->get('candidates'); 

    if(isset($options['count'])) return $query->num_rows(); 

    if(@$options['candidateId']) return $query->row(0); 

    return $query->result(); 

} 

網友觀點:候選人的

function manage(){ 
    $userId = $this->phpsession->get("userId"); 
    $userType = $this->phpsession->get('userType'); 
    $date = date("Y-m-d"); 
    if(!$userId && !$this->phpsession->get("userType")){ 
    redirect(base_url()); 
} 

$options['join'] = true; 
$data['users'] = $this->user_model->GetUser($options); 
$data['totalprofile'] = $this->candidate_model->GetCandidate(array("count"=>true)); 
$data['page_title']="User Details"; 

$this->layout->view("user/manage",$data); 
} 

型號:

<th style="width: 5px">UID</th>  
<td><?php echo $totalprofile; ?>  

回答

0
$this->db->order_by("candidateId", "desc"); 
    // Add a Where condition to get results only for selected user 
    $this->db->where('UserId', XXXXX); 
$query = $this->db->get('candidates'); 

添加WHERE條件只能導致行對於用戶

0

下面的代碼可能是有用的。我沒有寫完整的代碼,只是寫了必需的代碼。

守則控制器 -

function manage(){ 
    $options['join'] = true; 
    $data['users'] = $this->user_model->GetUser($options); 
    $data['totalprofile'] = $this->candidate_model->GetCandidate(array("count"=>true)); 
} 

由於您沒有爲「的getUser」功能編寫的代碼,我假設它會得到一些陣列。讓我們把它存儲在$ options中。

代碼模型 -

function GetCandidate($options){ 
    $can = array(); 
    foreach($options as $key => $value){ 
    $conditions = array('canUserId'=>$value['userId'], 'canUserBranch'=> $value['userBranch']); // put the array of conditions 
    $this->db->select('*'); 
    $this->db->from('candidates'); 
    $this->db->where(array('', $conditions)); 
    $can[$value['userId']] = $this->db->get()->num_rows(); // use userId as key here as you will be able to access the count array element in view page using this keys 
    } 
    return $can; 
} 

碼鑑於 -

foreach($users as $key => $value){ 
    echo "User Id: "$value['userId'].", Candidate Count per user: ". $totalprofile[$value['userId']]; 
} 

只需使用上面的代碼,讓我知道您的反饋意見。

相關問題