这是我第一次使用jQuery ajax进行分页。 我是这样做的:
我将文件'GetAllMessages.php'包含在div中,只有我已登录。[有效]
我只有在登录时才会再次包含文件'GetMessages.php',这会告诉我数据库中有多少邮件。 [works]
当我点击“消息”链接时,我打开一个弹出窗口,然后从“GetAllMessages.php”获取前四条消息。 [作品]
在这个div的末尾我有像[1,2,3 ...]这样的页面然后用jquery $ .ajax函数(post方法)我再次进入'GetAllMessages.php'但是这一次我告诉了文件我点击了哪个页面,它给了我下一个我想要的信息。 [不工作]
就像SESSION不存在,但是如果我在'GetAllMesasages.php'的开头添加'SESSION_START',它说它已经开始在我的初始'GetAllMessages.php'加载,但当我点击页面链接[1,2,3 ......]错误消失了,一切正常。
GetAllMessages.php
<?php
if(isset($_SESSION["uname"])){
include ('config.php');
include ('getMessages.php');
$pages=$messageCount/$messagesPerPage;
if(isset($_POST["page"])){
$page=$_POST["page"];
}else{
$page=1;
}
$startQuery=($page-1)*$messagesPerPage;
$getMessagesQuery = "SELECT * from messages ORDER BY id DESC LIMIT ".$startQuery.",".$messagesPerPage."";
$result = $conn->query($getMessagesQuery);
if($result->num_rows>0){
while($row=$result->fetch_assoc()){
$mId=$row["id"];
$mName=$row["name"];
$mEmail=$row["email"];
$mMessage=$row["message"];
$mDate=$row["messageDate"];
$mIsRead=$row["seen"];
$mIsAnswered=$row["answered"];
if($mIsRead==0){
$messageStatus="unread";
$markReadButton="<button class='button1'>Mark as read</button>";
}else if($mIsAnswered==1){
$markReadButton="";
$messageStatus="answered";
}else{
$markReadButton="";
$messageStatus="";
}
echo "
<div class='message ".$messageStatus."' data-messageid='".$mId."'>
<p class='date'>".$mDate."</p>
<p class='sender'>".$mName." - ".$mEmail."</p>
<p class='messageContent'>".$mMessage."</p>
<span class='buttons'>
<button class='reply'>Reply</button>
".$markReadButton."
</span>
</div>";
}
}
}else die();
?>