【发布时间】:2011-10-26 21:09:04
【问题描述】:
我使用codeigniter
我在以下代码中遇到了rownum 的问题。就是这样,在表be counted from the beginning 的each page of pagination 行中。对于示例,明确:
P1:如果我们在分页的第一页,行数是:
1 Columns1
2 Columns2
3 Columns3
4 Columns4
P2:如果我们在第二页分页,行数是:
1 Columns5
2 Columns6
3 Columns7
4 Columns8
P2:我要计入表格中的行,(在分页的第二页上...):
5 Columns5
6 Columns6
7 Columns7
8 Columns8
P3: ...等等
这段代码:
$data['results'] = $this->db->query("SELECT @rownum:=@rownum+1 rownum, t.* ".
"FROM (SELECT @rownum:=0) r, hotel_submits t ".
"ORDER BY id desc LIMIT $offset, 4");
完整代码:
function show($offset = 0)
{
$this->load->library('pagination');
$config['base_url'] = base_url().'admin/accommodation/show';
$config['uri_segment'] = 4;
$config['total_rows'] = $this->db->count_all('hotel_submits');
$config['per_page'] = '4';
$this->pagination->initialize($config);
$data['pagination'] = $this->pagination->create_links();
$offset = (int) $offset; // just to make sure nothing funky gets in here
$data['results'] = $this->db->query("SELECT @rownum:=@rownum+1 rownum, t.* ".
"FROM (SELECT @rownum:=0) r, hotel_submits t ".
"ORDER BY id desc LIMIT $offset, 4");
////////////////////////
$this->load->view('admin/accommodation_submit_show', $data);
}
怎么样?
敬而远之
编辑和更多相关信息:
我不希望在分页的每一页中,从头开始计算行数。
下一页将计入每一个上一页。
看到这些图片:
我的看法:
<div class="table_show">
<table>
<tr>
<th><input type="checkbox" name="remember_me" value="true" ></th>
<th>#</th>
<th>نوع</th>
<th>نام</th>
<th>ستاره - نوع</th>
<th>آدرس</th>
<th>شماره تماس</th>
<th>نمابر</th>
<th>وب سایت</th>
<th>ایمیل</th>
<th>زمان ثبت</th>
</tr>
<?php
//echo $this->table->generate($results);
foreach ($results->result() as $row)
{
echo '<tr><td><input type="checkbox" name="remember_me" value="true" ></td>';
echo '<td>'.$row->rownum.'</td>';
echo '<td>'.$row->type.'</td>';
echo '<td>'.$row->name.'</td>';
echo '<td>'.$row->star.' - '.$row->type_star.'</td>';
echo '<td><span id="'.$row->address.'" class="tooltip">'.$row->address.'</span></td>';
echo '<td><span id="'.$row->number_phone.'" class="tooltip">'.$row->number_phone.'</span></td>';
echo '<td>'.$row->fax.'</td>';
echo '<td>'.$row->site.'</td>';
echo '<td>'.$row->email.'</td>';
echo '<td>'.$row->date.'</td></tr>';
}
?>
</table>
<?= $pagination;?>
</div>
【问题讨论】:
-
@Joseph Silber - 感谢您的回复,问题彼此不同。您的 cmets,长问题似乎放入 cmets?
-
如果其他答案已解决,请单击问题旁边的复选标记接受我的答案。您仍然没有传入 $offset。看我的回答...
-
您接受了一个问题的答案,但没有接受其他问题。 Stack Overflow 是专门设计的,以便其他搜索相同问题的人可以轻松找到答案。如果其他答案回答了您的问题,您也应该接受它们...
-
考虑在每个线程中提出一个问题。如果一个问题取决于另一个问题,请按顺序进行。
标签: php codeigniter count pagination