php 将动态生成的结果应用分页函数。
使用PHP_SELF,应该是页内刷新,但是点击下一页时,生成的动态表格没有了,必需再点击“提交按钮”才显示下一页内容。这是什么原因?相关代码如下分页函数之一:functi...
使用PHP_SELF,应该是页内刷新,但是点击下一页时,生成的动态表格没有了,必需再点击“提交按钮”才显示下一页内容。这是什么原因?
相关代码如下
分页函数之一:
function showpage()
{
global $pages,$sums,$eachpage,$page;
$link=$_SERVER['PHP_SELF'];
echo "记录".$sums.":".$eachpage." ";
echo "页数".$page."/".$pages." ";
$p_head=$page-5;
if($p_head<=0)$p_head=1;
$p_end=$page+5;
if($p_end>$pages)$p_end=$pages;
echo "[<a href=$link?page=1>首页</a>] ";
for($i=$p_head;$i<=$p_end;$i++)
{
if($i!=$page)
echo "<a href=$link?page=$i>[$i]</a> ";
else
echo "<b>[$i]</b> ";
}
echo " [<a href=$link?page=$pages>末页</a>]";
}
?>
然后动态生成表格的代码如下
<?php
。。。
if($submit=="筛选")
{
。。。
echo "<form name=\"form2\" method=\"post\"><table border='1' id=\"oTable\">
<tr>
<td><span class=\"STYLE6\">标题</span></td>
<td><span class=\"STYLE6\">分类目录</span></td>
<td><span class=\"STYLE6\">时间</span></td>
<td> </td>
<td> </td>
</tr>";
$i=1;
genpage($sql3,16);//另一个分页函数
$result=mysql_query($sql3);
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><span class=\"STYLE6\">" . $row['title'] . "</span></td>";
echo "<td><span class=\"STYLE6\">" . $row['cl_name'] . "</span></td>";
echo "<td><span class=\"STYLE6\">" . $row['date'] . "</span></td>";
$row=$row['title'];
echo "<td><input type=\"button\" name=\"edit".$i."\" id=\"edit\" value=\"编辑\" onclick=\"editfile('$row')\"/></td>";
echo "<td><input type=\"button\" name=\"delete".$i."\" id=\"delete\" value=\"删除\" onclick=\"deletefile('$row')\"; ></td>";
echo "</tr>";
$i++;
}
echo "</table></form>";
showpage();
mysql_close($con);
}
?>
我在body标签加入了onLoad="autoSubmit()"方法
<script>
function autoSubmit(){
document.form1.submit();
alert("OK");
}
这样却不产生表格了,一直在提示OK,不停止,好像死循环了。这是什么问题?如何解决?
再说明一下,我想做的是,在一个页面里点击“筛选”按钮,出现一个动态表格,然后对这个动态表格进行分页处理。如上代码,结果却是点击分页中的链接,没有显示动态表格,必须再点击按钮后,才可以显示,显示的是正确的部分,说明分页函数没问题。 展开
相关代码如下
分页函数之一:
function showpage()
{
global $pages,$sums,$eachpage,$page;
$link=$_SERVER['PHP_SELF'];
echo "记录".$sums.":".$eachpage." ";
echo "页数".$page."/".$pages." ";
$p_head=$page-5;
if($p_head<=0)$p_head=1;
$p_end=$page+5;
if($p_end>$pages)$p_end=$pages;
echo "[<a href=$link?page=1>首页</a>] ";
for($i=$p_head;$i<=$p_end;$i++)
{
if($i!=$page)
echo "<a href=$link?page=$i>[$i]</a> ";
else
echo "<b>[$i]</b> ";
}
echo " [<a href=$link?page=$pages>末页</a>]";
}
?>
然后动态生成表格的代码如下
<?php
。。。
if($submit=="筛选")
{
。。。
echo "<form name=\"form2\" method=\"post\"><table border='1' id=\"oTable\">
<tr>
<td><span class=\"STYLE6\">标题</span></td>
<td><span class=\"STYLE6\">分类目录</span></td>
<td><span class=\"STYLE6\">时间</span></td>
<td> </td>
<td> </td>
</tr>";
$i=1;
genpage($sql3,16);//另一个分页函数
$result=mysql_query($sql3);
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><span class=\"STYLE6\">" . $row['title'] . "</span></td>";
echo "<td><span class=\"STYLE6\">" . $row['cl_name'] . "</span></td>";
echo "<td><span class=\"STYLE6\">" . $row['date'] . "</span></td>";
$row=$row['title'];
echo "<td><input type=\"button\" name=\"edit".$i."\" id=\"edit\" value=\"编辑\" onclick=\"editfile('$row')\"/></td>";
echo "<td><input type=\"button\" name=\"delete".$i."\" id=\"delete\" value=\"删除\" onclick=\"deletefile('$row')\"; ></td>";
echo "</tr>";
$i++;
}
echo "</table></form>";
showpage();
mysql_close($con);
}
?>
我在body标签加入了onLoad="autoSubmit()"方法
<script>
function autoSubmit(){
document.form1.submit();
alert("OK");
}
这样却不产生表格了,一直在提示OK,不停止,好像死循环了。这是什么问题?如何解决?
再说明一下,我想做的是,在一个页面里点击“筛选”按钮,出现一个动态表格,然后对这个动态表格进行分页处理。如上代码,结果却是点击分页中的链接,没有显示动态表格,必须再点击按钮后,才可以显示,显示的是正确的部分,说明分页函数没问题。 展开
2个回答
2012-03-25
展开全部
用变量来做书签啊,自动判断当前页面, 你的分页是怎么实现的? 简单的利用LIMIT来实现么? 用函数加变量来实现分页,这时候利用变量讲书签转换回来 我说下简单的逻辑原理 1:设置每页显示条数$a(也可是默认设置一条,或者由客户端发送) 2:由$a引申出总页数 并输出 1,2,3.。。总页数链接自己加 3:设置函数,接收当前页面,就是1,2,3,。。。之类的,并传递到SQL语句中显示每页的内容 接收为空,则默认为1 4:完成,作必要的验证之类的
~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询