这是我第一次使用codeigniter的分页,这是我在那里找到的最多教程:
这是“Perusahaan”方法的控制器,这是我将调用分页功能的地方。
function perusahaan()
{
$this->load->library('pagination');
$this->load->library('table');
$this->load->model('info');
$this->table->set_heading('ID', 'Perusahaan', 'Alamat', 'Email', 'Telephone') ;
$config["total_rows"] = $this->db->get('perusahaan')->num_rows();
$config['base_url'] = 'http://localhost/femina_group/index.php/femina/perusahaan';
$config['num_links'] = 5;
$config["per_page"] = 5;
$config["uri_segment"] = 3;
$config["full_tag_open"] = '<div id="pagerr">';
$config["full_tag_close"] = '</div>';
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$this->pagination->initialize($config);
$data['usaha'] = $this->info->getCOmpanyList($config["per_page"], $this->uri->segment(3));
$this->load->view('pages/perusahaan', $data);
}
在模型中,我从数据库中获取数据:
function getCOmpanyList ($limit, $offset)
{
$this->db->select ('id, name, location, email, tlp');
$this->db->from ('perusahaan');
$this->db->limit($limit, $offset);
$q = $this->db->get();
/*
if($q->num_rows() > 0)
{
foreach ($q->result() as $row)
{
$data[] = $row;
}
return $data;
}
*/
return $q;
}
现在的问题出在视图中:
<div id="paginateTable">
<?php
echo $this->table->generate($usaha);
echo $this->pagination->create_links();
?>
</div>
即使它按预期成功获取数据,但我也无法在getCompanyList
的行结果中插入指向每个名称的链接。
如何修改表格中的数据,以便为每个名称提供a href
链接?
谢谢。
例如,从上面的查询中我得到了分页中的数据循环:
<td>$name</td>
<td>$address</td>
<td>$email</td>
<td>$tlp</td>
但是我想插入每个名字的链接:
<td><a href="segment_3">$name</a></td>
<td>$address</td>
<td>$email</td>
<td>$tlp</td>
因为我通过以下方式回应数据:
echo $this->table->generate($usaha);
我不知道如何插入每个$name
的链接。
答案 0 :(得分:1)
像这样转换模型函数。
function getCOmpanyList ($limit, $offset)
{
$this->db->select ('id, name, location, email, tlp');
$this->db->from ('perusahaan');
$this->db->limit($limit, $offset);
$results = $this->db->get()->result_array();
foreach($results as &$result)
{
$result['name']='<a href="segment_3">'.$result['name'].'</a>';//change the name field as you wanted
}
return $results;
}
我认为它会起作用
答案 1 :(得分:1)
您可以创建一个重新格式化行值的函数
function reformat($rows){
foreach ($rows as $row)
{
$row->name=anchor('site.com/some_controller/some_function/'.$row->id,$row->name);
}
return $rows;
}
在视图中你可以像这样使用
echo $this->table->generate(reformat($usaha));