2013-05-06 5 views
0

다음 코드를 가지고 있으며 데이터베이스에 마지막으로 입력 한 행을 표시하도록 수정하는 가장 좋은 방법은 확실치 않습니다.Codeigniter MYSQL 가장 최근 행 반환

user_date 열은 다음과 같이 표시됩니다 2010-05-06 12:37:28

컨트롤러 :

$result = $this->shared_model->GetJustJoinedUser(); 
    $data['just_joined_user'] = $result->row_array(); 

모델 :이 방법으로 문제를 해결할 수 있다면

function GetJustJoinedUser() 
{ 
    $query = $this->db->query("SELECT * 
           FROM {$this->_table['users']} user 
           WHERE user_description != '' AND user_image != '' AND (user_twitter != '' OR user_youtube != '' OR user_vimeo!= '') 
           ORDER BY user_date DESC 
           LIMIT 1"); 

    return $query; 
} 
+0

'$ this-> db-> last_query()'를 사용해 보셨습니까? –

+0

@PawCabelin 예, 어떤 이유로 인해 500 오류가 발생합니다. –

+0

어쩌면 도움이 될 수도 있습니다. –

답변

1

검색어에 마지막으로 삽입 된 행이 있지만 WHERE 문에 제한이 있습니다.

$query = $this->db->query("SELECT * FROM {$this->_table['users']} user ORDER BY user_date DESC LIMIT 1"); 

당신은 SQL 쿼리에 대해 많이 알고하지 않는 것, 그래서 난 당신이 그것에 대해 몇 가지 TUTO를 읽으십시오 : 당신이 진짜 마지막 행을 원하는 경우

, 그냥이 같은 WHERE 문을 제거.

0

잘 모르겠어요 그러나 너는 이것 같이 무언가를 시도 할 수 있었다.

$last_id = $this->db->insert_id();

는 마지막에 삽입 사용자를 조회하기 위해이 $last_id를 사용합니다. 이 도움이 되었으면합니다.

$this->db->insert_id() 이전 쿼리 (일반적으로 INSERT)에 의해 AUTO_INCREMENT 열에 대해 생성 된 ID를 검색합니다.

UPDATE

$last_id = $this->db->insert_id(); 

$this->db->where('id', $last_id); 
$query = $this->db->get('users'); 
if($query) 
{ 
    $query = $query->result_array(); 
    //$query here contains the details of the last inserted user 
} 

단지 마지막 사용자가 삽입하는 방법에 대한 아이디어를 보여주는 임. 도움이 되었기를 바랍니다.

+0

아직도 죽어 가려고 노력하는 완전한 예를 들어 주시겠습니까 –

+0

@JessMcKenzie 여기서 정말로하고 싶은 것을 말해 줄 수 있습니까? 당신은 방금 삽입 한 마지막 행을 표시하고 싶습니까? –

+0

수정하려는 코드를 수정하십시오. 마지막 사용자가 참여했음을 표시해야합니다. = db에 마지막으로 입력 한 사용자입니다. –

관련 문제