2012-07-16 3 views
5

컨트롤러에서보기 위해 데이터를 보낼 수있는 방법이 있습니까? 내가하고있는 일은 사용자가 링크 옵션을 가지고 있으며 링크에 따라 사용자가 해당 데이터를 컨트롤러로 전달하고 다른보기가 해당 링크에 해당하는 컨트롤러에서로드된다는 것입니다. 하지만 그 방법을 모른다. 내가 여기에 모닥불 을 사용하고 내 컨트롤러 코드입니다 - 내 모델 부분에서컨트롤러에서보기로 매개 변수를 보내려면

function my_tickets() { 
     $username = $this->auth->username(); 
     $this->load->model('helpdesk_model'); 
     $result_set = $this->helpdesk_model->my_tickets($username); 
     foreach($result_set->result() as $data) { 
      $title[] = $data->title; 
      $category[]=$data->category; 
      $priority[]=$data->priority; 
      $date[]=$data->date; 
      $post_status[]=$data->post_status; 
      $userfile_path[] = $data->userfile_path; 
     } 
     $arraysize=count($title); 
     Template::set('arraysize',$arraysize); 
     Template::set('title',$title); 
     Template::set('category',$category); 
     Template::set('priority',$priority); 
     Template::set('date',$date); 
     Template::set('post_status',$post_status); 
     Template::set('username',$this->auth->username()); 
     Template::set('userfile_path',$userfile_path); 
     Template::render(); 
    } 
    function full_post(){ 
     Template::render(); 
    } 
    } 

: -

function my_tickets($username){ 
     $this->db->select('title,userfile_path,category,priority,date,post_status'); 
     $this->db->where('username',$username); 
     $result = $this->db->get('tbl_tickets'); 
     return $result; 
     } 

내 의견은 다음과 같습니다 - 내 full_post 컨트롤러 기능에서

<?php 
$arraysize =Template::get('arraysize'); 
$title[] = Template::get('title'); 
$category[]=Template::set('category'); 
$priority[]=Template::set('priority'); 
$date[]=Template::set('date'); 
$post_status[]=Template::set('post_status'); 
$username = Template::set('username'); 
$userfile_path = Template::set('userfile_path'); 
?> 
<h3>Total Number Of posts :&nbsp; <?php echo $arraysize; ?> </h3> 
<h2>Your Posts</h2> 
<?php echo "serail. title | category | priority | date of starting post | post status "; ?> 
<?php 
    for ($i=0; $i <$arraysize; $i++) { 
    ?> 
    <p> <?php echo ($i+1).". ".$title[$i]." | ".$category[$i]." | ".$priority[$i]." | ".$date[$i]." | ".$post_status[$i]; 
      echo "<a href=\"/helpdesk/full_post\">Click to see </a>"; 
     ?> 
    </p> 
    <?php 
    } 
    ?> 

나는 사용자가 링크 click to see에서 클릭하는 매개 변수를 원한다. 헬프 데스크가 내 컨트롤러 이름입니다. helpdesk_model이 (가) 내 모델 이름입니다. my_tickets는 내 뷰 이름입니다.

답변

1

나는 숨겨진 필드를 사용하여 양식의 도움으로이 일을하고있다 : - 나는 한 약간 이런 식으로 내보기 페이지를 변경 : -

for ($i=0; $i <$arraysize; $i++) { 
    echo "<p>".($i+1).". ".$title[$i]." | ".$category[$i]." | ".$priority[$i]." | ".$date[$i]." | ".$post_status[$i]."</p>"; 
    echo form_open('/helpdesk/full_post'); 
    echo form_hidden('path',$userfile_path[$i]); 
    echo form_submit('submit', 'click to see'); 
    echo form_close(); 
    } 

및 컨트롤러 페이지에서 내가 뭐하는 거지 : -

function full_post(){ 
     Template::set('path',$this->input->post('path')); 
     Template::render(); 
     } 

이것이 내가 필요한 것입니다. 이렇게하는 것이 좋은 방법입니까? 더 좋은 생각이 있나요 ..?

0

매개 변수가있는 컨트롤러 함수를 만들고 매개 변수가 포함 된 링크를 제공하십시오.

echo anchor('controller/functionName/parameter','display text'); 

function functionName($parameter ='') 
{ 
    //Do something with the parameter here when user click on the displayed text. 
} 

매우 쉬운 일이기 때문에 이것이 원하는 경우 확실하지 않습니다.

+0

아니요. 저는 이것을 원하지 않습니다. 보기에서 사용자가 클릭 한 링크 값을 볼 수있는 일부 값을 보내려고합니다. 내보기에서 3 링크 a, b 및 c, 사용자가 클릭 한 다음 컨트롤러 함수를 호출하고 값을 해당하는 경우 가정합니다 를 통해보기에서 위의 기술을 사용하여 수행 할 수있는 기능 – avinashse

+0

예로 전달됩니다. http://yoursite.com/controller/function/a에 대한 링크를 작성하면 a가 기능으로 전달됩니다. 같은 방법으로 다른 링크를 가질 수 있습니다. b. 아약스를 사용하여 패스하는 것이 맞습니까? – Nish

+0

사실 내가 매개 변수에 내 세부 정보를 전달하고 싶지 않다. 그게 .. 아니 아약스 같은 페이지에서 콘텐츠를 dispaly 것입니다하지만 컨트롤러에서 다른보기를 호출해야합니다 – avinashse

관련 문제