Codeigniter 테이블 클래스 : 생성 된 셀에서 링크 추가
-
06-07-2019 - |
문제
데이터베이스에서 가져온 데이터 배열에서 테이블을 자동 생성하는 테이블 클래스를 사용하고 있습니다.
모델:
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();
제휴하지 않습니다 StackOverflow