2012-02-17 4 views
1

데이터베이스에서 항목을 선택하여 배열로 반환하는 기능이 있습니다. 내 질문은 어떻게 수동으로 배열을 만들 수 있습니까? 예를 들어 날짜 형식을 변경할 수 있습니까? 내가 추측하고있어쿼리에서 Codeigniter 사용자 정의 출력 배열

$sql = 'SELECT * FROM prayer_requests ORDER BY id DESC'; 
     $query = $this->db->query($sql); 

     if($query->num_rows() > 0) return $query->result(); 
     else return FALSE; 

내가 루프의 일종 필요 : 여기

내가 가진 무엇인가? 나는 그것이 단순해야만한다는 것을 알고 있지만 정확히 어떻게해야 하는지를 알 수 없다. 당신이 배열로 결과를 얻고 싶다면

답변

2

, 당신은 result_array() 대신 result() 사용할 수 있습니다. 여기 CodeIgniter의와 결과를 생성하는 방법에 대한 자세한 내용을보실 수 있습니다 : http://codeigniter.com/user_guide/database/results.html

예를 :

$query = $this->db->query("YOUR QUERY"); 
$rows = $query->result_array(); // $rows is now an array containing all the rows from the query result 

편집 : 를 어레이로 퍼팅하기 전에 데이터를 수정합니다. 루프가 필요하며 루프 중에 원하는 데이터를 변경하는 데 필요한 기능을 사용하십시오. 그런 다음 루프 변수를 다시 할당하고 배열에 추가합니다 (루프 앞에 이미 초기화 됨). 첫째

$rows = array(); 
foreach($query->result_array() as $row) 
{ 
    $row['some_key'] = change_data($row['some_key'); 
    $rows[] = $row; 
} 
+0

나는 실현,하지만 데이터를 수정 어떻게 그것은에 투입되기 전에 배열? – Adam

+0

@ Adam 제 답변을 업데이트했습니다. –

+0

좋아 보이지만 문제가 있습니다. 내가 여기서 뭔가 잘못하고있는거야? ($ 행 $로서 질의 -> result_array())의 foreach \t \t \t \t {$ 행 [ '날짜'] = standard_date ("DATE_ISO8601"$ 행 [ '날짜'); \t \t $ rows [] = $ row; \t \t} \t \t return $ rows; – Adam

0

우선 일 : 결과를 반환 모델은 컨트롤러가 예를 들어, 일을 할 것입니다 :

//Picking data 
$this->data['resultados']   = $this->outros_detalhes_model->consulta(); 
$rows = array(); 

//Running all data, modifying whatever you need 
foreach($this->data['resultados'] as $row){ 
    $row->CT_TIPO = $this->funcoes->mostra_tipo_detalhe($row->CT_TIPO); 
    $rows[] = $row; 
} 

//Sending data to view 
$this->data['resultados'] = $rows; 
$this->load->view('includes/estrutura',$this->data);