0

我目前正在开发一个 PHP mysql 应用程序,该应用程序有一个要显示数千条记录的网格。现在,要求不希望它以正常方式分页,(通过显示分页链接1、2、3等)但是当用户点击链接Show More Results时这样做。我有一个锚链接,单击该链接将从服务器获取下一批记录。我们都知道的正常分页可以使用

     offset and limit parameters in a sql query
     select * from abc limit,offset;

所以,在这种情况下,说我的限制是“20”,但是如何计算将进入查询的偏移量?我知道在点击时发送 ajax 请求的基础知识。像这样的东西会在点击时被调用

     $.ajax({
       //request parameters and success and failure callback

     })    

对此的任何帮助或指导都会非常有帮助。
谢谢你的时间。

4

1 回答 1

1

嘿伙计,我只是给你一个想法:

考虑您有表链接和列名以及其中有链接的链接。

首先在你的html中直接使用php。

索引.HTML

<html>
<head>
<script type="text/javascript" src="jquery.js">
<script type="text/javascript">
$(document).ready( function() {
$("#more").click( function() {
var get = document.getElementsByClassName('num');
var numberofget = "limitnext="+get.length;
$.ajax({
type : "POST",
url : "more_results.php",
data : numberofget,
cache : false,
success : function(html){
$(this).remove();
$("#results").append(html);
}
});
});
});
</head>
<body>
<div id="results">
<?php

include("db.php");

$query1 = "SELECT * FROM Links LIMIT 0 , 20";
$query2 = "SELECT * FROM Links";
$result1 = mysql_query($query1);
$result2 = mysql_query($query2);
$count = mysql_num_rows($result2);

while($rows=mysql_fetch_array($result1)){
$links=$rows['links'];
echo "<div class='num'>".$links."</div>";
}

if($count>=20){
echo "<a id='more' href='#'>More Results of Links</a>";
}

?>
</div>
</body>
</html>

more_results.php

<?php

include "db.php";

$limit=$_POST['limitnext'];
$limitaddup=$_POST['limitnext']+20;

$query1 = "SELECT * FROM Links LIMIT ".$limit." , ".$limitaddup.";
$query2 = "SELECT * FROM Links";    
$result1 = mysql_query($query1);    
$result2 = mysql_query($query2);
$count = mysql_num_rows($result2);


while($rows=mysql_fetch_array($result1)){    
$links=$rows['links'];
echo "<div class='num'>".$links."</div>";
}


if($count>=$limitaddup){    
echo "<a id='more' href='#'>More Results of Links</a>";    
}    
?>
于 2012-10-25T05:33:51.847 回答