我有一个php页面,里面还有另一个php页面,这个php页面有一个paginator,是不是每次我分页它只会加载内页而不是整个页面?
我试图通过使用AJAX解决这个问题,因为你可以看到我的第一篇文章,但我遇到了这个问题,我需要获取我发送给ajax的字母和页面并再次使用它进行分页,所以它会就像javascript将其变量发送到php我试过这个:
<script>
function pagereturn()
{
return getpage;
}
</script>
<?php
$pageno = pagereturn();
echo $pageno;
?>
function passPaginationAndLetter(page)
{
if (page=="")
{
document.getElementById("retail_group").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("retail_group").innerHTML=xmlhttp.responseText;
}
}
getpage = page;
xmlhttp.open("GET","otherpage.php? letter="+getletter+"&pageno="+page,true);
xmlhttp.send();
}
var page = 1;
$("#nextButton").click(function(){
page = page+1;
passPaginationAndLetter(page);
});
但不幸的是我最终没有结果并且破坏了我的代码。 btw getpage是我从另一个函数中获取的一个变量。
非常感谢,我仍然是javascript的新手,因此我向你寻求帮助。 :)
--- child.php的分页代码---- {
}
else
{
if ($pageno == 1) {
//echo " FIRST PREV ";
}
else
{
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=1'>FIRST</a> ";
$prevpage = $pageno-1;
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>PREV</a> ";
}
echo " ( Page $pageno of $lastpage ) ";
if ($pageno == $lastpage)
{
//echo " NEXT LAST ";
}
else
{
$nextpage = $pageno+1;
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage'>NEXT</a> ";
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$lastpage'>LAST</a> ";
}
--- parent.php的分页代码-----
else
{
echo '<a href = "#" onclick="passPaginationAndLetter("1"); return false;">FIRST</a>';
$prevpage = $pageno-1;
echo '<a href = "#" onclick="passPaginationAndLetter('.$prevpage.'); return false;">PREV</a>';
}
echo " ( Page $pageno of $lastpage ) ";
if ($pageno == $lastpage)
{
}
else
{
$nextpage = $pageno+1;
echo '<a id = "nextButton" href = "#" onclick="passPaginationAndLetter('.$nextpage.'); return false;">NEXT</a>';
echo '<a href = "#" onclick="passPaginationAndLetter('.$lastpage.'); return false;">LAST</a>';
}
答案 0 :(得分:0)
好的,试试这个:
假设您有主页,显示所有分页的主页,名为 main.php ,您还有另一个php文件,其中包含所有名为 functions.php的函数< /强>
我假设您在functions.php 中有一个php函数,它会生成您的分页的单个页面(例如getAJAXpage($page)
)。这个函数生成一个完整的HTML页面,如下所示(记住这只是一个例子,可以通过1000种不同的方式实现):
<?php //functions.php file
...
public function getAJAXpage($page){
$page = $_REQUEST['page'];//im not pretty sure about this :S
$elements = getElements($page);//this function returns the set of elements in your page
echo '<table>';
foreach($elements as $e){
echo '<tr><td>'.$e.'</td></tr>';
}
echo '</table>';
}
...
?>
你可以在你的php页面中做什么 main.php (显示所有分页的人)这样的事情:
function getAjaxPage(page){ //this is a javascript code in main.php file
$.ajax({
type:'GET',
dataType:'html',
url:'the-url-for-your-getAJAXpage-function',
success:function(data){
$("#your-pagination-element").html(data);
}
});
}
我还假设在您的 main.php 文件中的分页页面的html中,您至少有一组按钮(或图标)来指导分页(下一个,上一个,第一个,最后一个, ...)。所以你可以将这段代码添加到上面的javascript中。
//more javascript in main.php
var page = 1;
$("#nextButton").click(function(){
page = page+1;
getAjaxPage(page);
});
以及所有按钮。
注意:在这个答案中我还假设你使用了JQuery libray,非常推荐javascript中的begginers。
希望我帮助过你。祝你好运!