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