帮我写一个用page和pagesize实现分页的前台和后台的代码
时间: 2023-06-02 08:04:16 浏览: 107
好的,我可以帮你写一个用page和pagesize实现分页的前台和后台代码。以下是PHP的示例代码:
后台代码:
```php
<?php
// 假设分页每页显示10条数据
$pagesize = 10;
// 获取当前页码
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
if ($page < 1) {
$page = 1;
}
// 计算起始记录数
$start = ($page - 1) * $pagesize;
// 假设查询数据库获取数据
$sql = "SELECT * FROM `table` LIMIT {$start}, {$pagesize}";
// 执行SQL语句,获取数据
$data = mysql_query($sql);
// 显示数据
while ($row = mysql_fetch_assoc($data)) {
echo $row['id'] . ' ' . $row['name'] . ' ' . $row['age'] . '<br />';
}
// 计算总记录数
$sql = "SELECT COUNT(*) AS `total` FROM `table`";
$data = mysql_query($sql);
$total = mysql_fetch_assoc($data)['total'];
// 计算总页数
$total_page = ceil($total / $pagesize);
// 显示分页
for ($i = 1; $i <= $total_page; $i++) {
if ($i == $page) {
echo $i . ' ';
} else {
echo "<a href='?page={$i}'>{$i}</a> ";
}
}
?>
```
前台代码:
```html
<!-- 假设分页数据在一个名为data的div中显示 -->
<div id="data">
<!-- 这里显示分页数据 -->
</div>
<script>
// 假设每页10条数据,初始页码为1
var pagesize = 10;
var page = 1;
// 加载第一页数据
loadData(page);
// 点击页码时加载对应页的数据
function gotoPage(p) {
page = p;
loadData(page);
}
// 加载指定页的数据
function loadData(p) {
// 计算起始记录数
var start = (p - 1) * pagesize;
// 发送异步请求,获取数据
$.ajax({
type: 'GET',
url: 'api.php?page=' + p + '&pagesize=' + pagesize,
dataType: 'json',
success: function(result) {
// 显示数据
var html = '';
for (var i = 0; i < result.length; i++) {
html += result[i].id + ' ' + result[i].name + ' ' + result[i].age + '<br />';
}
$('#data').html(html);
// 显示分页
var total = result.total;
var total_page = Math.ceil(total / pagesize);
html = '';
for (var i = 1; i <= total_page; i++) {
if (i == page) {
html += i + ' ';
} else {
html += '<a href="javascript:gotoPage(' + i + ');">' + i + '</a> ';
}
}
$('#page').html(html);
}
});
}
</script>
```
注意:上述示例代码仅供参考,实际应用中需要根据具体情况进行修改和完善。
阅读全文