먼저 URL을 입력하면 작동하지 않으며 CI의 일반적인 규칙을 따르지 않으므로 어디에서 볼 수 있는지 알 수 없습니다. 컨트롤러가 샘플이라고 가정하고 컨트롤러에서 호출하는 함수를 응용 프로그램에 알려야합니다. 마지막으로 URL 이름은 소문자 여야하므로 URL을 읽어야합니다.
"http : // localhost/SMS_System/home/sample/get_pitch/102 "
또한 모델에서 데이터를 가져와 모델을로드 한 다음 사용하지 않아야합니다. 모델을로드 한 후 해당 모델에서 함수를 호출하고 URL에서 가져온 ID를 전달합니다. id에 대한 isset이 아니라면, 누군가 id 세그먼트없이 그 페이지로 간다면 누락 된 매개 변수를 가진 모델로부터 던져지는 에러가 없다는 것을 볼 수 있습니다. 아무 것도 반환하지 않습니다. 이것은 뷰에서 처리됩니다.
는 컨트롤러 :
function get_pitch($id){
//the following line gets the id based on the segment it's in in the URL
$id=$this->uri_segment(3);
if(!isset($id))
{
$id = 0;
}
$this->load->model('users_model');
$data['query'] = $this->users_model->getUserData($id);
$this->load->view('view_pitch', $data);
}
귀하의 모델은 컨트롤러에서 전달 된 ID를 받아서 데이터베이스에서 데이터를 검색하는 것을 사용한다. 일반적으로 빈 배열로 반환 할 배열을 만들고 뷰에서 처리합니다. 이렇게하면 쿼리가 실패 할 경우 오류가 발생하지 않습니다. 그런 다음 데이터는 마지막 행의 컨트롤러로 돌아가고로드 뷰 호출의 뷰로 전달됩니다.
모델 :
function getUserData($id)
{
$this->db->where('id',$id);
$result = $this->db->get('users') //assuming the table is named users
$data = array(); //create empty array so we aren't returning nothing if the query fails
if ($result->num_rows()==1) //only return data if we get only one result
{
$data = $result->result_array();
}
return $data;
}
내보기 다음의 컨트롤러를 통해 모델로부터 수신 된 데이터를 받아 데이터가 존재하지 않는 사용자에게 알리는 오류 표시가 없으면 본 경우를 표시한다. 보기 :
if(isset($query['id']))
{
echo $query['id']; //the variable is the array we created inside the $data variable in the controller.
echo $query['name'];
echo $query['user_id'];
} else {
echo 'That user does not exist';
}
우선 가장 중요한 질문은 아닙니다. 그러나 모델과 뷰를 적용하는 방법을 알고 싶으면 튜토리얼을 살펴보십시오. –
나는 내 질문을 편집하여 새로 고침하십시오 – Naksuriya
아직 달성하기를 원하는 것이 무엇인지 분명하지 않습니다 ... –