我有一个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);
});
但不幸的是我最终没有结果并且破坏了我的代码。顺便说一句,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>';
}
最佳答案
好的,试试这个:
假设您有一个显示所有分页的主页,名为 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 初学者。
希望对你有帮助。祝你好运!
关于php - 在页面内加载页面或将 js 变量传递给 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9330948/