Javascript php中的分页。AJAX、PHP、MYSQL
我正在创建一个类似于论坛的网站,在这里我使用ajax动态显示帖子。当用户登录时,他会发现一个“orderby”下拉选择选项,在这里他可以选择帖子的顺序Javascript php中的分页。AJAX、PHP、MYSQL,javascript,php,mysql,ajax,Javascript,Php,Mysql,Ajax,我正在创建一个类似于论坛的网站,在这里我使用ajax动态显示帖子。当用户登录时,他会发现一个“orderby”下拉选择选项,在这里他可以选择帖子的顺序 选择菜单 <select name="orderby" id="orderby" onchange="showposts(this.value)" > <option value="1" selected>By Time</option> <option value="2">By Genuine
选择菜单
<select name="orderby" id="orderby" onchange="showposts(this.value)" >
<option value="1" selected>By Time</option>
<option value="2">By Genuine Count</option>
<option value="3">By Dubious Count</option>
</select>
showposts()函数
function showposts(str){
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if(str != undefined){
currentType=str; //save the current type for later use
document.getElementById("postsdiv").innerHTML = "";
}else{
var e = document.getElementById("orderby");
str = e.options[e.selectedIndex].value;
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
// alert(xmlhttp.responseText);
document.getElementById("postsdiv").innerHTML=xmlhttp.responseText;
}
};
xmlhttp.open("GET","showposts.php?q="+str,true);
xmlhttp.send();
}
showposts.php页面的一部分,如果所选选项为1,则从数据库获取帖子
if(intval($_GET['q'])==1){
while($row = $result->fetch_assoc()) {
echo "<div class='postclass'>";
echo "<span id='postspan".$row['id']."' name='postspan".$row['id']."' >";
echo "<span id='editspan".$row['id']."' name='editspan".$row['id']."' >";
echo "</br>";
echo "Posted By:          <span class='bold'> ".$row['user']."</span>";
if($username==$row['user']){
echo "<a href='javascript:void(0);' onclick='deletepost(".$row['id'].")' >DELETE </a>   ";
echo "<a href='javascript:void(0)'onclick='editpost(".$row['id'].",\"".$row['subject']."\",\"".$row['post']."\")' >EDIT </a></br>";
}else{
echo "</br>";
}
echo "<a id=".$row['id']."></a>";
echo "Date & Time: ".$row['date']."</br>";
echo "<span id=genuinecount".$row['id'].">Genuine Count: ".$row['genuine']."</span></br>";
echo "<span id=dubiouscount".$row['id'].">Dubious Count: ".$row['dubious']."</span>";
echo "</br>------------------------ </br>";
echo "Subject: <span class='bold' >".$row['subject']."</span></br>";
echo "Post: ";
echo "<div class='postbox' > • ".$row['post'] . "</div><br /></br>";
}
}
showposts()函数
质疑
示例链接
<a href="#" onclick="showposts(document.getElementById('orderby').value,1,20);">Page 1, 20 per page</a>
可以粘贴mysql查询部分吗?看看“limit”的mysql文档,我写了一个简单的查询,从数据库中选择所有帖子。我也有关于限制条款的想法,但我不知道如何在这里实现它。是的,你能粘贴它的代码吗?是的,先生,我已经添加了查询。
$sql = "SELECT * FROM posts order by date desc";
$result = $connection->query($sql);
function showposts(str, page, pagesize){
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if(str != undefined){
currentType=str; //save the current type for later use
document.getElementById("postsdiv").innerHTML = "";
}else{
var e = document.getElementById("orderby");
str = e.options[e.selectedIndex].value;
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
// alert(xmlhttp.responseText);
document.getElementById("postsdiv").innerHTML=xmlhttp.responseText;
}
};
xmlhttp.open("GET","showposts.php?q="+str+'&page='+page+'&pagesize='+pagesize,true);
xmlhttp.send();
}
$page = intval($_GET['page');
$pagesize = intval($_GET['pagesize']);
$sql = "SELECT * FROM posts order by date desc limit "
. ($page-1)*$pagesize . ", " . $pagesize;
<a href="#" onclick="showposts(document.getElementById('orderby').value,1,20);">Page 1, 20 per page</a>