加载内容并逐个显示php ajax 函数getfilter(str){ 如果(str==“”){ document.getElementById(“结果”).innerHTML=“”; 回来 } $.ajax({ url:“Views/pfolioresult.php?q=“+str, 键入:“获取”, //数据:序列化数据, 成功:函数(responseText){ $(“#结果”).html(responseText); } }); }
此代码工作正常。但假设数据库中有10000个数据。此代码在加载后立即显示所有数据。如何根据加载时间逐个显示数据。这意味着当一个项目加载后,会显示它,而另一个项目会连续显示。关于如何实现这一点的一些想法:加载内容并逐个显示php ajax 函数getfilter(str){ 如果(str==“”){ document.getElementById(“结果”).innerHTML=“”; 回来 } $.ajax({ url:“Views/pfolioresult.php?q=“+str, 键入:“获取”, //数据:序列化数据, 成功:函数(responseText){ $(“#结果”).html(responseText); } }); },php,jquery,ajax,Php,Jquery,Ajax,此代码工作正常。但假设数据库中有10000个数据。此代码在加载后立即显示所有数据。如何根据加载时间逐个显示数据。这意味着当一个项目加载后,会显示它,而另一个项目会连续显示。关于如何实现这一点的一些想法: <script> function getfilter(str){ if (str==""){ document.getElementById("result").innerHTML=""; return;
<script>
function getfilter(str){
if (str==""){
document.getElementById("result").innerHTML="";
return;
}
$.ajax({
url: "Views/pfolioresult.php?q="+str,
type: "GET",
// data: serializedData,
success: function ( responseText ) {
$("#result").html(responseText);
}
});
}
</script>
您在php中的查询应该如下所示:
function show(skip)
{
$.ajax({
url: "Views/pfolioresult.php?skip=" + skip + "q="+str,
type: "GET",
// data: serializedData,
success: function ( responseText ) {
$("#result").html(responseText);
skip++;
show(skip);
}
});
}
show(0);
您应该使用分页,然后在一些事件上加载内容,例如滚动或单击标有“加载更多”的标签。一次加载所有记录不是一个好主意
url:“Views/pfolioresult.php?q=“+str+”&page=0&limit=10”,
然后在查询中,您可以使用页面
和限制
等
SELECT *
FROM a
LIMIT $skip, 1
加载更多记录(如第2页)时,您可以在ajax url中设置
page=1
。如果必须这样显示,您应该拆分响应并逐个显示或逐批显示,但这会导致混淆。这不是个好主意。最好在寻呼系统中使用jscroll或INIFIENT scroll等插件,这样可以缩短响应时间,这样应用程序运行速度更快,您可以实现自己的目标。这样做是不可能的。。。您可以查看jquerys提供的各种无限滚动插件,并给出一些使用带有plugin link@bala的代码的示例。如果您看到这里的示例,这将通过ajax加载下一页。对于您的要求,您应该调用同一个页面,并在每次调用递增时传递额外的查询字符串,如page no,如1/2/3,您的后端代码将读取页面查询字符串并根据该字符串给出响应。您必须对js和后端代码进行更改才能实现这一点。
$sql = "SELECT ....";
$limit = $_POST['page'] * $_POST['limit']; // get offset records
$sql .= " limit {$limit}, {$_POST['limit']}";