php - 如何在现有的基于 PHP 和 Mysql 的分页上添加 Ajax

标签 php jquery mysql html ajax

嗨,我是一名新程序员, 我有一个基于 PHP 和 Mysql 的分页,我想给它添加 Ajax 功能。 我浏览了很多教程,但我找不到任何关于将 ajax 添加到现有分页的教程,它们都讲述了如何制作基于 Ajax 的分页。

我希望用户即使在关闭 javascript 的情况下也能够分页。所以我想在我的代码中添加一些 Ajax,这样我就可以使用 Ajax 和 PHP 进行分页。

我可以使用 jquery .load() 方法进行分页。

请查看我的代码并建议我如何获取页面 url 以便 ajax 进行分页 我想这样的事情必须起作用。我无法弄清楚如何,请帮助。 或者告诉我一些我可以学习的教程。

Jquery代码

    $(document).ready(function(){

    $('#pagination').click(function(){
    $('pageurl').load('is-test2.php #PaginationDiv');});        
}); 

基于 PHP 和 MySQL 的分页

<?php
    require_once('_ls-global/php/connection.php'); 
$db = mysql_select_db($database,$connection) or trigger_error("SQL", E_USER_ERROR);
$sql1 = "SELECT COUNT(*) FROM $table";
$result1 = mysql_query($sql1, $connection) or trigger_error("SQL", E_USER_ERROR);
$row = mysql_fetch_row($result1);
$numrows = $row[0];
$rowsperpage = 2;
$totalpages = ceil($numrows / $rowsperpage);
if (isset($_GET['page']) && is_numeric($_GET['page'])) {
   $currentpage = (int) $_GET['page'];
} else {
   $currentpage = 1;
}
if ($currentpage > $totalpages) {
   $currentpage = $totalpages;
}
if ($currentpage < 1) {
   $currentpage = 1;
}
$offset = ($currentpage - 1) * $rowsperpage;
$sql2 = "SELECT * FROM internet_security ORDER BY id DESC LIMIT $offset, $rowsperpage";
$result2 = mysql_query($sql2, $connection) or trigger_error("SQL", E_USER_ERROR);
$list = mysql_fetch_assoc($result2);
$startrow = ($currentpage-1) * $rowsperpage;

html 代码

h3>Results <?php echo ($startrow+1) ?> - <?php echo min($startrow + $rowsperpage, $row) ?> of <?php echo ($totalpages *$rowsperpage) ?></h3>
<ul><?php 
if ($currentpage!=$totalpages) {
echo " <li><a href='{$_SERVER['PHP_SELF']}?page=$totalpages'>$totalpages</a></li> ";
$nextpage = $currentpage + 1;
echo " <li><a href='{$_SERVER['PHP_SELF']}?page=$nextpage'>Next&raquo;&raquo;</a></li> ";
}?></ul>



<ul><?php    
if($currentpage<$totalpages){
for ($x = ($currentpage - 3); $x < (($currentpage + 3) + 1); $x++) {
if (($x > 0) && ($x <= $totalpages)) {
if ($x == $currentpage) {
echo " <li id='pcurrent'><a href='{$_SERVER['PHP_SELF']}?page=$x'>$x</a></li>";
} else {
echo " <li><a href='{$_SERVER['PHP_SELF']}?page=$x'>$x</a></li> ";
}}}  
}
}
?> </ul>


<ul><?php
if ($currentpage > 1){
$prevpage = $currentpage - 1;
echo " <li><a href='{$_SERVER['PHP_SELF']}?page=$prevpage'>&laquo;&laquo;Prev</a></li> ";
echo "<li><a href='{$_SERVER['PHP_SELF']}?page=1'>1</a></li> ";
}?></ul>

最佳答案

由于您使用 GET 方法将页面变量放入 PHP 脚本中,因此您可以像这样传递变量:

$(document).ready(function(){
    $('#pagination ul li a').click(function(){
        e.preventDefault();
        $('#divtoreplace').load($(this).attr("href"));            
    });        
}); 

关于php - 如何在现有的基于 PHP 和 Mysql 的分页上添加 Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10755118/

相关文章:

mysql - 如何使用yii框架查询具有多个条件的记录

php - 无法连接到 MySQL 数据库 - PHP

php - 如何将 while() 与 json 一起使用?

jquery - 使用 jQuery 在页面加载后使用 AJAX 填充页面

jquery - jquery中的表格到水平条形图

php - 停止重复插入

mysql - 如何从每组行的最小和最大时间戳中选择mysql数据

php - 使用 Doctrine 查询生成器插入记录

php - Ajax -> PHP -> MySQL 后 HTML 特殊字符编码不起作用

jquery - 如何根据跨域内容设置iframe高度?