首页 / AJAX / 适用于PHP的AJAX分页解决方案
适用于PHP的AJAX分页解决方案
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了适用于PHP的AJAX分页解决方案,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3091字,纯文字阅读大概需要5分钟。
内容图文
![适用于PHP的AJAX分页解决方案](/upload/InfoBanner/zyjiaocheng/655/dd22981bc39541d68e5fd8cd41f878ac.jpg)
现在,我使用的分页系统需要网址
http://mypage.com/index.php?page=1
http://mypage.com/index.php?page=2
http://mypage.com/index.php?page=3
http://mypage.com/index.php?page=4
等等…
因此它使用$_GET方法来找出用户所在的页面.
我决定将我的大部分网站切换到Ajax,然后遇到了问题.当我使用Ajax在页面上加载新内容时,URL始终保持不变,例如http://mypage.com/index.php.因此,我使用的分页系统没有用.
我找不到高效的AJAX分页系统(例如,有些地方比较落后,每当用户单击下一页时,最需要用户将其滚动到该提示,因为当他们单击下一页时,它们始终位于页面底部等)
因此,我决定向您询问是否有人拥有适用于Ajax的有效分页解决方案.
需要分页的示例:
$sql = mysql_query("SELECT * FROM myMembers WHERE username='$username' LIMIT 1") or die (mysql_error("There was an error in connection"));
//Gather profile information
while($row = mysql_fetch_assoc($sql)){
$username = $row["username"];
$id = $row["id"];
$data_display .= '<b>'.Name.'</b> has an id of <span style="color: f0f0f0;">'.$id.'</span>';
}
<!doctype>
<html>
<?php echo "$data_display"; ?> //and I need to paginate this entries
</html>
jQuery,它将来自不同页面的新内容加载到#content div中
<script type="text/javascript">
function viewHome(){
$('#woodheader').load("inc/home_top.php", function () {
$(this).hide().fadeIn(700)
});
$('#content').html('<span class="loader">Loading.. <img class="loaderimg" src="images/ajax_loader.gif"/></span>').load("inc/home.php", function () {
$(this).hide().fadeIn(700)
});
}
function viewAbout(){
$('#woodheader').load("inc/about_top.php", function () {
$(this).hide().fadeIn(700)
});
$('#content').html('<span class="loader">Loading.. <img class="loaderimg" src="images/ajax_loader.gif"/></span>').load("inc/about.php", function () {
$(this).hide().fadeIn(700)
});
}
function viewProducts(){
$('#woodheader').load("inc/products_top.php", function () {
$(this).hide().fadeIn(700)
});
$('#content').html('<span class="loader">Loading.. <img class="loaderimg" src="images/ajax_loader.gif"/></span>').load("inc/products.php", function () {
$(this).hide().fadeIn(700)
});
}
</script>
解决方法:
分页并不像您想象的那么难,可以使用jQuery的load()函数将内容加载到具有页面内容的元素中.
例如,您有:
<div id="page-content"></div>
<a href="#" id="link1">Page 1</a>
<a href="#" id="link2">Page 1</a>
<a href="#" id="link3">Page 3</a>
<script>
$.ready(function(){
var currPage = <?=$pageNumber; ?>; // The page number loaded on page refresh
$('#link1,#link2,#link3').onclick(function(){
// Get the first number inside the id
var pageNum = parseInt($(this).attr('id'));
// Don't load the same page
if(currPage == pageNum) return;
// Show loading animation or whatever
// Load the page using ajax
$('#page-content').load('pages.php?page='+pageNum, function(){
// End loading animation
currPage = pageNum;
});
return false; // Important for not scrolling up
});
});
</script>
关于URL,当用户单击页面链接时,有三个选项可供选择:
>只需加载页面即可更改网址
>使用HTML5 history.pushState(请参阅MDN resource)(如果受支持),并将选项3作为不支持的浏览器的后备
>使用#page1,#page1等作为链接的href值,以便用户知道他们在哪个页面上并解析php中url的值:
$uri = explode('#page', $_SERVER['REQUEST_URI']);
$pageNumber = intval($uri[1]);
内容总结
以上是互联网集市为您收集整理的适用于PHP的AJAX分页解决方案全部内容,希望文章能够帮你解决适用于PHP的AJAX分页解决方案所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。