2013-06-06 4 views
0

나는 codeigniter를 처음 사용하며 가이드를 따라 갔지만 뭔가 빠져있는 것처럼 보입니다. 고객 기록이있는 간단한 데이터베이스가 있습니다. codeigniter의 첫 번째 목표는 모든 고객을 단순하게 나열하는 것입니다.codeigniter 데이터베이스에서 배열 잡아

UR 컨트롤러
<table class="table table-bordered table-striped table-highlight" id="invoice-details"> 
    <thead> 
    <tr> 
     <th>Work Order ID</th> 
     <th>Status</th> 
     <th>Description</th> 
    </tr> 
    </thead> 
    <?php 
    foreach ($data->result() as $row);?> 
     <tr class="even gradeC"> 
     <td><a href="/WorkOrders/viewWo/<?php echo $row['id']; ?>"> 
     <?php echo $row['id']; ?></a></td> 
     <td><?php echo $row['status']; ?></td> 
     <td><?php echo Logic\System\Lib\Helper::trunc(htmlentities($row['description']), 8); ?></td> 
     </tr> 
    <?php endforeach; ?> 
    </table> 
+1

그래서 무엇이 문제입니까? 당신이 얻고있는 결과는 무엇입니까? 예상 결과와 다른 점은 무엇입니까? –

답변

0

변경 : 컨트롤러

public function function1() 
{ 
    $query = $this->db->get('work_orders'); 
    //return $query->result(); 
    return $query->result_array(); 
} 

변경 :

public function index() 
{ 
    $this->load->model('HomeModel');  
    //$data = $this->HomeModel->function1(); 
    $data['result'] = $this->HomeModel->function1(); 
    $this->load->view('index', $data); 
} 
보기 515,

변경 :

//foreach ($data->result() as $row); 
    if(is_array($result)&&!empty($result)) 
     foreach ($result as $row); 

데이터가 어레이 방식 또는보기 부하 두번째 파라미터의 오브젝트가보기에 제어부로부터 전달된다. 다음은 배열 사용 예는 다음과 같습니다

$data = array(
       'title' => 'My Title', 
       'heading' => 'My Heading', 
       'message' => 'My Message' 
     ); 

$this->load->view('blogview', $data); 

Views : Codeigniter User Guide

는, 당신은 설정 배열 결과를 반환하는 모델에 result_array 사용할 수있어 당신이 $row['id'] 같은보기에 배열을 사용하고 있기 때문에 :

이를 함수는 쿼리 결과를 순수한 배열로 반환하거나 결과가 생성되지 않을 때 빈 배열을 반환합니다. 일반적으로이처럼 foreach 루프에서 사용합니다 :

$query = $this->db->query("YOUR QUERY"); 

foreach ($query->result_array() as $row) 
{ 
    echo $row['title']; 
    echo $row['name']; 
    echo $row['body']; 
} 

Generating Query Results : Codeigniter

당신은 $this->db->join();

$this->db->select('*'); 
$this->db->from('blogs'); 
$this->db->join('comments', 'comments.id = blogs.id'); 
$query = $this->db->get(); 

를 사용하여 생성합니다 :

SELECT * FROM blogs 
JOIN comments ON comments.id = blogs.id 

활동 기록을 통해 이동 클래스 가이드. Active Record Class

+0

업데이트 해 주셔서 감사합니다. 그것의 의미를 만들기 시작합니다.난 당신의 제안을 시도하고 나는 점점 오전 : 구문 분석 오류 : 구문 오류, 예기치 T_ENDFOREACH를 D에 : 문서 줄에 내 웹 사이트 \ 프로젝트 1의 \ 프로그램 \ 뷰 \의의 index.php를 \ \ 사용자 \ \ bnelson 57 – bnelsonjax

+0

은 $ 수 있음 결과 배열이 비어 있으면 배열이 비어 있는지 확인하십시오. 업데이트 된 답변을 확인하십시오. – hsuk

+0

nvm이 작동했습니다. 색인 페이지에 오타가있었습니다. 당신의 도움을 주셔서 감사합니다! – bnelsonjax

0

, u는 같은 값을 전달해야

여기
public function function1() 
{ 
$query = $this->db->get('work_orders'); 
return $query->result(); 

} 

내이다 : 여기

public function index() 
{ 
    $this->load->model('HomeModel'); //loads the HomeModel model 
    $data = $this->HomeModel->function1();  //loads the function (function1) from the model 

    $this->load->view('index', $data);  
} 

내 모델이다 : 여기

내 컨트롤러 데이터 배열 $data['result'] 하위 배열. 그 후 u는 단순히보기에서 $result로 호출 할 수 있습니다. 컨트롤러

$data['result'] = $this->HomeModel->function1(); 

그리고보기에서

, 모델

foreach ($result as $row){ 
<?php echo $row->id; ?> 
.. 
} 
관련 문제