문제

데이터베이스에서 가져온 데이터 배열에서 테이블을 자동 생성하는 테이블 클래스를 사용하고 있습니다.

모델:

function get_reports_by_user_id($userid)
{
    return $this->db->get_where('ss2_report',array('userid' => $userid))->result_array();
}

제어 장치:

function index()
{
    echo $this->table->generate($this->mymodel->get_reports_by_user_id('1234'));
}

컨트롤러는 결국 작동 할 때보기로 이동됩니다. 이것은 테이블을 잘 생성하지만 필드에 링크를 추가하고 싶습니다. 예를 들어, id 해당 보고서의 ID에 대한 데이터 페이지에 링크 할 수있는 열입니다. 나는 구식 방식으로 테이블을 출력 할 수 있다는 것을 알고 있습니다. 그런 다음 원하는 링크를 추가 할 수 있지만 가능한 한 자동 생성을 사용할 수 있기를 바랍니다. 테이블 셀을 연결하는 것만 큼 일반적인 일을하는 방법이 있어야합니다. 아무도 아이디어가 있습니까?

편집하다:

사용자 Java Php 바로 아래에 있습니다. 다음은 작동하는 코드입니다.

function get_reports_by_user_id($userid)
{
    $rows = $this->db->get_where('ss2_report',array('userid' => $userid))->result_array();

    foreach ($rows as $count => $row)
    {
        $rows[$count]['id'] = anchor('report/'.$row['id'],$row['id']);
    }
    return $rows;
}

원래 배열의 값을 앵커 텍스트 버전으로 바꿔야했습니다.

도움이 되었습니까?

해결책

유일한 방법은 기능에서입니다 get_reports_by_user_id() , 당신은 모든 결과를 루프하고 추가합니다. <a href> ID에 태그. 이 같은:

function get_reports_by_user_id($userid)
{
   $rows=$this->db->get_where('ss2_report',array('userid' => $userid))->result_array();
   foreach ($rows as $row)
   {
     $row->id=anchor('site.com/some_controller/some_function/'.$row->id,$row->id);
   }
   return $rows;
}

CodeIgniter의 데이터베이스 라이브러리를 사용하지 않으므로 어떤 형식이 반환되는지 확실하지 않습니다. $rows 그러나 위의 코드는 당신이해야 할 일에 대한 일반적인 아이디어를 제공해야합니다.

다른 팁

한 가지 아이디어는 .. 같은 일을하는 것일 수 있습니다.

foreach ($row in $this->mymodel->get_reports_by_user_id('1234'))
{
    $row->id = anchor(site_url(array('report', 'user', $row->id)), $row->id);
    $this->table->add_row($row);
}
$this->table->generate();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top