【发布时间】:2025-12-20 18:00:12
【问题描述】:
我正在尝试使用 Jquery 创建缩略图分页。一切正常。我唯一的问题是我不知道如何在每个页面加载时增加计数。下面是我的代码。我的主要目标是,如果用户单击下一个按钮,我想增加 1 php/reverse.php?page="+page。如果 php 没有更多结果,则不允许再增加。上一个按钮也是如此。
<html>
<head>
<title></title>
</head>
<body>
<div id="par"></div>
<input type="button" id="prev" value="Prev"/>
<input type="button" id="next" value="Next"/>
<script src="js/jquery.js"></script>
<script>
var default_val = 1;
function get_page(page){
$.ajax({
url: "php/reverse.php?page="+page
}).done(function(data) {
$('#par').html(data.thumbs);
});
}
$('#prev').click(function(){
get_page(default_val)
});
$('#next').click(function(){
get_page(default_val+1)
});
get_page(default_val);
</script>
</body>
</html>
这是我的 PHP:
<?php
require '../php/connect.inc.php';
$per_page = 4;
$pages_query = mysql_query("SELECT COUNT('id') FROM my_list");
$pages = ceil(mysql_result($pages_query, 0) / $per_page);
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$start = ($page - 1) * $per_page;
$query = mysql_query("SELECT id, image_small FROM my_list LIMIT $start, $per_page");
$results = array();
while($mysql_fetch_assoc = mysql_fetch_assoc($query)){
$results[] = "<img src='img/".$mysql_fetch_assoc['image_small']."'/>";
}
header('Content-type: application/json');
echo json_encode(array(
'thumbs' => $results,
'pages' => $pages,
'current_page' => $page,
'per_page' => $per_page
));
?>
【问题讨论】:
-
Please, don't use
mysql_*functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解prepared statements,并使用PDO 或MySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial.
标签: php jquery ajax pagination