我有点难过。我有2个PHP页面。一个基本上显示模板,点击后,AJAX调用调用外部页面并显示所有必要的信息。我的问题是我的会话变量没有更新。我正在使用一些分页,数字没有更新。我的模板页面上的一些代码:
重新分页
session_start();
$pagination .= $_SESSION['position'] == "" ? '' : 'Items '.$_SESSION['position'].'-'.$_SESSION['item_per_page'].' of '.$get_total_rows ;
if($pages > 1)
{
$pagination .= '<ul class="paginate nav nav-pills">';
for($i = 1; $i<=$pages; $i++)
{
$pagination .= '<li><a href="#" class="paginate_click" id="'.$i.'-page">'.$i.'</a></li>';
}
$pagination .= '</ul>';
}
<?php echo $pagination; ?>
<div id="results">
<!-- Results from query will go in here -->
</div>
j$(".paginate_click").click(function (e) {
j$("#results").prepend('<div class="loading-indication"><img src="/assets/loader.gif" /></div>');
var clicked_id = j$(this).attr("id").split("-"); //ID of clicked element, split() to get page number.
var page_num = parseInt(clicked_id[0]); //clicked_id[0] holds the page number we need
j$('.paginate_click').removeClass('active'); //remove any active class
//post page number and load returned data into result element
//notice (page_num-1), subtract 1 to get actual starting point
j$("#results").load("development_fetch.php", {'page': (page_num-1)}, function(){
});
j$(this).addClass('active'); //add active class to currently clicked element
return false; //prevent going to herf link
});
在development_fetch.php中:
session_start();
$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH);
$position = ($page_number * $item_per_page);
$_SESSION['position'] = $position;
$_SESSION['item_per_page'] = $item_per_page;
//Grab code to display inside template blah.
如果您在分页中单击第1页,则应该导致:
项目0 - 100 of 1000
如果我点击第2页,它应该是:
项目100 - 200 of 1000
但它只是停留在:
项目0 - 100 of 1000
0是$_SESSION['position']
100是$_SESSION['item_per_page']
我不明白为什么不更新。请帮助堆叠器!
答案 0 :(得分:2)
$。AJAX({ 键入:&#39; POST&#39;, url:&#39; url&#39;, 数据:&#39;数据&#39;, 成功:function(){}, async:false });
答案 1 :(得分:1)
将session_start();
放在装有AJAX的页面的开头。
答案 2 :(得分:0)
我想我在development_fetch.php
$position = ($page_number * $item_per_page);
好的,$page_number
有一个值,但是$item_per_page
呢?我猜它是零,当然乘法的结果是零。然后在$_SESSION
溶液:
设置$item_per_page
session_start();
$item_per_page = 20;
// ...rest of code
答案 3 :(得分:0)
我也遇到了这个问题,但我的表现很奇怪。似乎会议的速度不足以赶上ajax ..这个问题已经解决了吗?