我正在开发一个codeigniter项目。我正在显示从数据库到我已使用分页的用户的记录,我每页显示20条记录。在显示页面上,我设置了一个表格列,其中我编号记录第一页显示1-20条记录,第二页显示20-40条记录但数字列计数器再次从1-20开始而不是显示21-40 。
这是我的控制器记录:
$config = array();
$config["base_url"] = 'http://localhost:81/ebook/' . "index.php/main/index";
$config["total_rows"] = $this->book_data->record_count();
$config["per_page"] = 20;
$config["uri_segment"] = 3;
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data["result"] = $this->book_data->get_data($config["per_page"], $page);
$data["links"] = $this->pagination->create_links();
$this->load->view('home', $data);
这是我的观看代码:
<tbody>
<?php
$x=0;
foreach ($result as $row) {?>
<tr>
<td ><?php echo $x = $x+1; ?></td>
<td id="book" class="b"><?php echo $row->TITLE; ?></td>
<td id="book" class="b"><?php echo $row->AUTHOR; ?></td>
<td id="book" class="b"><?php echo $row->PUBLISHER; ?></td>
<td><?php echo $row->PAGES; ?></td>
<td><a href="<?php echo $row->PATH; ?>" style="text-decoration:none;" target="_blank"><input id="button" class="btn btn-success" type="submit" value="View" name="submit"></a></td>
</tr>
<?php } ?>
</tbody>
</table>
<hr>
</div>
<div id="page" style="float: left; width: 100%; text-align: center">
<p><?php echo $links; ?></p>
</div>
答案 0 :(得分:0)
当然它确实 - 你每次都以$ x = 0开始。
传递你的(每页值*(第num-1页))+ 1
你会得到它。
(你也可以用$ x ++递增;而不是$ x = $ x + 1.做同样的,看起来更有经验;-))
答案 1 :(得分:0)
当您启动计数器$x
时,您需要考虑per_page
值。
所以将$x = 0
更改为:
$x = isset($_GET["per_page"]) ? $_GET["per_page"] : 0;
同样如@jmadsen所述,使用$x++
代替$x=$x+1
;
答案 2 :(得分:0)
从控制器传递$ x一些值,例如传递1,默认为$ x = value_from_controller_data_array,当你在第1页时,当你下次点击第2页时,按钮只传递record_to_display_per_page *(page_number - 1))+ 1通过链接到您的控制器,以及下次加载所需结果的视图时