在页面中加载页面或将js变量传递给php

在页面中加载页面或将js变量传递给php,php,javascript,ajax,Php,Javascript,Ajax,我有一个php页面,里面还有另一个php页面,这个php页面有一个分页器,有没有可能每次我分页时,它只加载内部页面而不是整个页面 正如您在我的第一篇文章中看到的那样,我试图通过使用AJAX来解决这个问题,但我遇到了一个问题,我需要获取发送给AJAX的信件和页面,并再次使用它进行分页,因此这就像javascript将其变量发送到php一样。我尝试了以下方法: <script> function pagereturn() { return getpage

我有一个php页面,里面还有另一个php页面,这个php页面有一个分页器,有没有可能每次我分页时,它只加载内部页面而不是整个页面

正如您在我的第一篇文章中看到的那样,我试图通过使用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);
    });

函数pagereturn()
{
返回getpage;
}
函数passPaginationAndLetter(第页)
{
如果(第==“”)页
{
document.getElementById(“retail_group”).innerHTML=“”;
返回;
} 
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“retail_group”).innerHTML=xmlhttp.responseText;
}
}
getpage=第页;
open(“GET”、“otherpage.php?letter=“+getletter+”&pageno=“+page,true”);
xmlhttp.send();
}
var-page=1;
$(“#下一个按钮”)。单击(函数(){
页码=页码+1;
passPaginationAndLetter(第页);
});
但不幸的是,我最终没有结果,并打破了我的代码。顺便说一句,getpage是我从另一个函数中获取的变量

非常感谢,我还是javascript新手,因此我请求您的帮助。:)

---child.php上的分页代码---- {

}
其他的
{
如果($pageno==1){
//呼应“第一上”;
}
其他的
{
回声“;
$prevpage=$pageno-1;
回声“;
}   
echo“(第$pageno页,共$lastpage页)”;
如果($pageno==$lastpage)
{
//呼应“下一个最后一个”;
}
其他的
{
$nextpage=$pageno+1;
回声“;
回声“;
}
---parent.php上的分页代码-----

else
{
回声';
$prevpage=$pageno-1;
回声';
}   
echo“(第$pageno页,共$lastpage页)”;
如果($pageno==$lastpage)
{
}
其他的
{
$nextpage=$pageno+1;
回声';
回声';
}
好的,试试这个:

假设您有一个显示所有分页的主页,名为main.php,还有一个包含所有函数的php文件,名为functions.php

我假设您在functions.php中有一个php函数,用于生成分页的单个页面(
getAJAXpage($page)
)。该函数生成一个完整的HTML页面,类似这样(请记住,这只是一个示例,可以通过1000种不同的方式实现):

我还假设在main.php文件中分页页面的html中,您至少有一组按钮(或图标)来指导分页(下一个、上一个、第一个、最后一个……),因此您可以将此代码添加到上述javascript中

//more javascript in main.php
var page = 1;
$("#nextButton").click(function(){
    page = page+1;
    getAjaxPage(page);
});
所有的按钮也是如此

注意:在这个答案中,我还假设您使用的是Library,这是javascript中非常推荐乞丐使用的

//more javascript in main.php
var page = 1;
$("#nextButton").click(function(){
    page = page+1;
    getAjaxPage(page);
});

希望我能帮到你。祝你好运!

你能简单地解释一下吗?我对getajaxpage的用途和下一个按钮的位置有点困惑。单击,我对javascript很新,希望你能理解。谢谢。:)顺便说一句,我使用的是jquery,但用于分页的是纯php,因此我希望将变量传递给php,但如果这里有一个更好的方法让我知道。谢谢。我现在明白了,在我的例子中,我有parent.php调用child.php,它保存分页过程,不使用jquery,这纯粹是php。现在我在parent.php中还有一组分页,它使用ajax更改child.php的页面,因为我只希望孩子加载而不是整个页面页面。但我无法让它保留传递给子级的数字,以用作parent.php分页的参考。现在我创建了一个循环来查看所有可用的页面数。不幸的是,我现在的问题是字母,因为它是一个字母分组函数。我将发布代码它必须说:Pageception。这确实是Pageception为什么不您不是在ajax中使用jQuery或其他工具吗?这要简单得多,而且跨平台,但是jQuery可以获得php值并将其传递到另一个页面而不必重新加载其父页面吗?
<?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>';
}
...
?>
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);
        }
    });
}
//more javascript in main.php
var page = 1;
$("#nextButton").click(function(){
    page = page+1;
    getAjaxPage(page);
});