将会话应用于这段代码


Applying session to this piece of code

我有这样的代码,它从我的数据库ajax风格中获取数据。例如,一次9个,当我想显示更多时,我按下更多按钮。当我离开页面时,问题就出现了。当我返回时,即使我使用后退按钮,我也必须再次按下更多按钮才能到达我原来的位置。

有没有一种方法可以应用会话来记住最后一次计数

Javascript与loadmore.php 位于同一页面

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
$(function()
{
$('.more').live("click",function()
{
var ID = $(this).attr("id");
if(ID)
{
$("#more"+ID).html('<img src="moreajax.gif" />');
$.ajax({
type: "POST",
url: "ajax_more.php",
data: "lastmsg="+ ID,
cache: false,
success: function(html){
$("ol#updates").append(html);
$("#more"+ID).remove(); // removing old more button
}
});
}
else
{
$(".morebox").html('The End');// no results
}
return false;
});
});
</script>

这是主要的php脚本loadmore.php

    <div id='container'>
<ol class="timeline" id="updates">
<?php
include('config.php');
$sql=mysql_query("select * from messages ORDER BY msg_id DESC LIMIT 9");
while($row=mysql_fetch_array($sql))
{
$msg_id=$row['msg_id'];
$message=$row['message'];
?>
<li>
<?php echo $message; ?>
</li>
<?php } ?>
</ol>
//More Button here $msg_id values is a last message id value.
<div id="more<?php echo $msg_id; ?>" class="morebox">
<a href="#" class="more" id="<?php echo $msg_id; ?>">more</a>
</div>
</div>;

接下来是名为ajax_more.php 的php

   <?php
include("config.php");
if(isSet($_POST['lastmsg']))
{
$lastmsg=$_POST['lastmsg'];
$lastmsg=mysql_real_escape_string($lastmsg);
$result=mysql_query("select * from messages where msg_id<'$lastmsg' order by msg_id desc limit 9");
while($row=mysql_fetch_array($result))
{
$msg_id=$row['msg_id'];
$message=$row['message'];
?>
<li>
<?php echo $message; ?>
</li>
<?php
}
?>
//More Button here $msg_id values is a last message id value.
<div id="more<?php echo $msg_id; ?>" class="morebox">
<a href="#" id="<?php echo $msg_id; ?>" class="more">more</a>
</div>
<?php
}
?>

如果有人能在这上面发光的话。我会非常棒

Steve

Javascript具有读取/写入cookie的能力。例如:

document.cookie =
    'msgCount=9; expires=Sun, 4 Mar 2012 20:47:11 UTC; path=/';

这里有一些用于创建、读取和擦除cookie的有用javascript函数:http://www.quirksmode.org/js/cookies.html

这里也有一些很好的参考SO:

javascript cookie,请帮忙

什么是";最好的";使用JavaScript 获取和设置单个cookie值的方法

我最近实现了这种设置:我所做的解决问题的方法是将会话设置代码放入AJAX脚本中,然后在主/调用脚本中,每当您导航回该页面时,使用这些数据适当地生成内容。如果您需要在JavaScript脚本中执行此操作,请将其作为PHP脚本,并将内容类型更改为text/JavaScript(或任何MIME类型),然后您可以使用PHP动态设置JavaScript源代码,就像使用HTML一样。。。虽然这种方法运行得很好,但最终我选择了一个纯动态的JS解决方案,没有会话变量,因为我的设置从未要求您离开同一页面。