[英]Pagination not working using php and ajax
下面提到的是3個不同的文件第一個文件Package.php代碼:
<body>
<form action='Add_Package.php' method='POST'>
<input type='submit' id='btnAdd' value='Add Package Details'>
<select id="pack_type" name="pack_type" onChange="package_changed()" >
<option value="1">Valid</option>
<option value="0">In-Valid</option>
</select>
<center><h1>Package Details</h1></center>
<div id="package_info" name="package_info"> </div>
<script type="text/javascript" src="js/service.js" ></script>
</body>
第二個文件service.js代碼:
function package_changed()
{
var xmlhttp;
var type;
type=document.getElementById("pack_type").value;
if(type=="label")
return;
if(window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("package_info").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","Package_description.php?type="+type,true);
xmlhttp.send();
}
第三文件Package_description.php代碼:$ perpage = 10;
$row_count = mysql_query("select count(package_id) from package where is_valid=".$_GET['type']);
$pages = ceil(mysql_result($row_count,0) / $perpage);
$page=(isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$start=($page - 1) * $perpage;
$result = mysql_query("SELECT * FROM package where is_valid='".$_GET['type']."'ORDER BY package_id DESC LIMIT $start , $perpage ");
echo '<div class="pagination pagination-middle pagination-right"><ul>';
if($pages >= 1 && $page <=$pages)
{
for($x=1; $x<=$pages; $x++)
{
if($x==$page)
{
echo '<li class="disabled"><a href="?page='.$x.'">'.$x.'</a></li>';
}
else
{
echo '<li class="active"><a href="?page='.$x.'">'.$x.'</a></li>';
}
}
}
echo '</ul></div>';
echo " <center>
<table class='table table-hover' border=5>
<th>Package Name</th>
<th>Package Credits</th>
<th></th>";
while($row=mysql_fetch_array($result))
{
echo " <tr>
<td>" .$row['package_name'] ."</td>
<td>" .$row['package_credits'] ."</td>
<td><center><a href='Edit_Package.php?id=".$row['package_id'] . "'>Edit</a></center </td>
</tr>";
}
echo " </table><br>
</center>
</form>";
?>
隊列:當我單擊第一個文件中的有效或無效選項時,它將正確顯示數據。 當記錄超過10條時,當我單擊第二頁時,它不在第二頁上顯示記錄。 問題出在javascript函數上,因為當出現在同一頁面上時,相同的分頁腳本運行良好,這里涉及3個不同的頁面,包括javascript函數。我不知道問題出在哪里,任何機構都有任何解決方案,請告訴我。 提前致謝。
我實際上找到了解決問題的方法,下面是對service.js文件代碼所做的更改:
function package_changed()
{
var xmlhttp;
var type;
type=document.getElementById("pack_type").value;
var url=document.URL;
var thenum = url.replace( /^\D+/g, '');
if(type=="label")
return;
if(window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("package_info").innerHTML=xmlhttp.responseText;
}
}
if(thenum=="")
{
xmlhttp.open("GET","Package_description.php?type="+type+"&page=1",true);
xmlhttp.send();
}
else
{
xmlhttp.open("GET","Package_description.php?type="+type+"&page="+thenum,true);
xmlhttp.send();
}
}
實際上,我無法捕獲頁面變量並將其傳遞到package_description.php文件,因此我捕獲了package.php文件url並存儲到url變量中,然后我僅使用.replace()函數提取了其中的數字部分,還有一些根據需要進行位更改。 希望這件事將來會在類似問題出現時對別人有所幫助。 然后,任何查詢都會發表評論。 謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.