2015-01-14 4 views
0

간단한 질문 : Codeigniter 및 MySQL 데이터베이스를 사용하고 있습니다. 현재 데이터베이스에 각 사용자의 정보를 저장하는 "프로필"이라는 테이블이 있습니다. 트랙으로 돌아가서, 위치 당 등록 된 사용자의 수를 HTML 테이블에 표시해야합니다 ('위치'는 '프로필'테이블의 필드 중 하나입니다). 지금까지 나는이 시도했습니다sql 카운트 표시 번호

: 모델 :

function asia_count() 
{ 
    $query = "SELECT COUNT(*) FROM profiles WHERE location = 'Asia'"; 
    return $query; 
} 

CONTROLLER :

public function admin_m_reports_users_loc() 
{ 
    $data['asia_count'] =$this->help_model->asia_count(); 
    $this->load->view('squidtopus1-admin-reports-users-location',$data); 
} 

보기 : (관련 라인 : 안부에서

<tr> 
    <td><a href="#">Asia</a></td> 
    <td><?php echo $asia_count; ?></td> 
    </tr> 

에 VIEW (관련 라인), 아시아로 표시해야합니다. 1 (1은 결과 예입니다)

...하지만 어디서 잘못되었는지 추적 할 수는 없습니다. 누군가가 올바른 방향으로 나를 가리킬 수 있을까요? 많은 감사하겠습니다.

답변

0

result() 또는 result_array()이 누락되었습니다. 이 코드를 모델로 사용해보십시오. 모든 위치는 RESP에 대한

foreach ($lists as $index => $row) { 
    echo $row['location'] . ':' . $row['Total']; 
} 
+0

덕분에이

모델에게

function asia_count() { $query = "SELECT location, COUNT(*) as Total FROM profiles GROUP BY location"; return $query->result_array(); } 

보기를 시도 할 수 계산 목록을 원하는 경우

function asia_count() { $query = "SELECT COUNT(*) as Total FROM profiles WHERE location = 'Asia'"; $result = $query->result_array(); return $result[0]['Total']; } 

onse,하지만 나는 설명을 위해 게시물을 편집했습니다. count() 결과를 웹 페이지에 표시해야하는데 이것이 내 목표 다. –

+0

모든 위치 수를 나열 하시겠습니까? – lighter

+0

감사합니다. 쿼리가 올바르게 반환되지만 COUNT (*)의 숫자 결과 만 표시하는 방법이 있다고 생각합니까? 이미 해당 국가가 나열된 웹 페이지에서 이미 테이블을 만들었 기 때문입니다. 지금 필요한 것은 COUNT (*)에 의해 생성 된 번호를 검색하고 그 번호를 테이블에 표시하는 방법입니다. 이것을 할 수 있습니까? –

1
$query = $this->db->query("SELECT COUNT(*) FROM profiles WHERE location = 'Asia'"); 

if ($query->num_rows() > 0) 
{ 
$row = $query->row_array(); 
echo $row['COUNT(*)']; 
} 
+0

@Leon Baños이게 도움이 될거야 :) – Priyank