谁能帮我翻译一下这段 PHP分页代码,50分!我看懂了加分!
请帮我注释一下哪几段是干啥哪几段是干啥。。。。代码长了点。。只要注释一下分页的那些就可以,表格的不用。。帮帮忙哦。。。。别闲麻烦,想想雷锋同志哇。。。list.php<?...
请帮我注释一下
哪几段是干啥哪几段是干啥。。。。
代码长了点。。只要注释一下分页的那些就可以,表格的不用。。
帮帮忙哦。。。。别闲麻烦,想想雷锋同志哇。。。
list.php
<?
include "conn.php";
$query = "Select COUNT(*) FROM news";
$result = mysql_query($query);
$num = mysql_num_rows($result);
$page_count = ceil($num/$page_size);
//$offset = ($page_count-1)*$page_size;
if(empty($_GET['page']))
{
$page = 1;
}else
{
$page = $_GET['page'];
if($page<=0)
{
$page = 1;
}else
{
$page >= $page_count;
$page = $page_count-1;
}
}
$query ="Select * FROM `news` orDER BY `id` DESC LIMIT ".($page-1)*$page_count.","."$page_size";
$result = mysql_query($query);
?>
<table width="571" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#0066FF">
<tr>
<td width="5" bgcolor="#FFFFFF"><div align="center"></div></td>
<td width="343" bgcolor="#FFFFFF"><div align="center">标题</div></td>
<td width="189" bgcolor="#FFFFFF"><div align="center">时间</div></td>
</tr>
<?php
while($l_result = mysql_fetch_array($result))
{
?>
<tr>
<td bgcolor="#FFFFFF"><div align="center"><?php echo $l_result['id'];?></div>
</td>
<td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['title'];?></a></div></td>
<td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['p_time'];?></a></div></td>
</tr>
<?php
}
?>
</table><br>
<center><a href="new.php">发布信息</a><br></center>
<?php //页码显示
for ($i=1;$i<=($page_count-1);$i++){
echo "<a href=’list.php?page=".$i."’>".$i."</a> ";
}
//页码显示
?> 展开
哪几段是干啥哪几段是干啥。。。。
代码长了点。。只要注释一下分页的那些就可以,表格的不用。。
帮帮忙哦。。。。别闲麻烦,想想雷锋同志哇。。。
list.php
<?
include "conn.php";
$query = "Select COUNT(*) FROM news";
$result = mysql_query($query);
$num = mysql_num_rows($result);
$page_count = ceil($num/$page_size);
//$offset = ($page_count-1)*$page_size;
if(empty($_GET['page']))
{
$page = 1;
}else
{
$page = $_GET['page'];
if($page<=0)
{
$page = 1;
}else
{
$page >= $page_count;
$page = $page_count-1;
}
}
$query ="Select * FROM `news` orDER BY `id` DESC LIMIT ".($page-1)*$page_count.","."$page_size";
$result = mysql_query($query);
?>
<table width="571" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#0066FF">
<tr>
<td width="5" bgcolor="#FFFFFF"><div align="center"></div></td>
<td width="343" bgcolor="#FFFFFF"><div align="center">标题</div></td>
<td width="189" bgcolor="#FFFFFF"><div align="center">时间</div></td>
</tr>
<?php
while($l_result = mysql_fetch_array($result))
{
?>
<tr>
<td bgcolor="#FFFFFF"><div align="center"><?php echo $l_result['id'];?></div>
</td>
<td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['title'];?></a></div></td>
<td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['p_time'];?></a></div></td>
</tr>
<?php
}
?>
</table><br>
<center><a href="new.php">发布信息</a><br></center>
<?php //页码显示
for ($i=1;$i<=($page_count-1);$i++){
echo "<a href=’list.php?page=".$i."’>".$i."</a> ";
}
//页码显示
?> 展开
1个回答
展开全部
<?
include "conn.php";
/*查找新闻表中数据的个数,保存到$num中*/
$query = "Select COUNT(*) FROM news";
$result = mysql_query($query);
$num = mysql_num_rows($result);
/*计算页面数,每页显示多少数据由$page_size确定,总的数据个数除以每页显示多少行,就能得到总共有多少页*/
$page_count = ceil($num/$page_size); //进一法取整
//$offset = ($page_count-1)*$page_size;
/*根据客户端GET方式提交上来的页面ID确定当前页面*/
if(empty($_GET['page']))
{
$page = 1; //客户端没有提交,页面是1
}else
{
$page = $_GET['page'];
if($page<=0)
{
$page = 1; //客户端提交小于0,表示用户输入错误,设置默认值1
}
else
{
$page >= $page_count; //这里估计是代码写错了,本来作者希望表达的意思是:如果客户端提交大于数据库总的页面数,那么设置页面数为最大
$page = $page_count-1;
/*
可能是这样的:
if($page >= $page_count)
{
$page = $page_count-1;
}
*/
}
}
/*
SQL语句的limit表示显示从XX位置开始的XXX条数据
本例子中表示从($page-1)*$page_count开始的$page_size条数据,其实这个是代码的bug,应该是($page-1)*$page_size
很简单,假设用户希望看第4页的东西,而我有$num=1000条数据,每页显示$page_size=10条数据,那么我的$page_count=1000/10=100页;
他提交给我$page=4,这个时候我希望显示第4页的东西那么我的起始位置应该为10*(4-1),而不是100*(4-1)
*/
$query ="Select * FROM `news` orDER BY `id` DESC LIMIT ".($page-1)*$page_count.","."$page_size";
$result = mysql_query($query); //数据集保存在$result中,给页面调用
?>
<table width="571" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#0066FF">
<tr>
<td width="5" bgcolor="#FFFFFF"><div align="center"></div></td>
<td width="343" bgcolor="#FFFFFF"><div align="center">标题</div></td>
<td width="189" bgcolor="#FFFFFF"><div align="center">时间</div></td>
</tr>
<?php
/*循环把页面的数据显示出来*/
while($l_result = mysql_fetch_array($result))
{
?>
<tr>
<td bgcolor="#FFFFFF"><div align="center"><?php echo $l_result['id'];?></div>
</td>
<td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['title'];?></a></div></td>
<td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['p_time'];?></a></div></td>
</tr>
<?php
}
?>
</table><br>
<center><a href="new.php">发布信息</a><br></center>
<?php //页码显示
for ($i=1;$i<=($page_count-1);$i++){
echo "<a href=’list.php?page=".$i."’>".$i."</a> ";
}
//页码显示
?>
代码有bug,看我的解释!
include "conn.php";
/*查找新闻表中数据的个数,保存到$num中*/
$query = "Select COUNT(*) FROM news";
$result = mysql_query($query);
$num = mysql_num_rows($result);
/*计算页面数,每页显示多少数据由$page_size确定,总的数据个数除以每页显示多少行,就能得到总共有多少页*/
$page_count = ceil($num/$page_size); //进一法取整
//$offset = ($page_count-1)*$page_size;
/*根据客户端GET方式提交上来的页面ID确定当前页面*/
if(empty($_GET['page']))
{
$page = 1; //客户端没有提交,页面是1
}else
{
$page = $_GET['page'];
if($page<=0)
{
$page = 1; //客户端提交小于0,表示用户输入错误,设置默认值1
}
else
{
$page >= $page_count; //这里估计是代码写错了,本来作者希望表达的意思是:如果客户端提交大于数据库总的页面数,那么设置页面数为最大
$page = $page_count-1;
/*
可能是这样的:
if($page >= $page_count)
{
$page = $page_count-1;
}
*/
}
}
/*
SQL语句的limit表示显示从XX位置开始的XXX条数据
本例子中表示从($page-1)*$page_count开始的$page_size条数据,其实这个是代码的bug,应该是($page-1)*$page_size
很简单,假设用户希望看第4页的东西,而我有$num=1000条数据,每页显示$page_size=10条数据,那么我的$page_count=1000/10=100页;
他提交给我$page=4,这个时候我希望显示第4页的东西那么我的起始位置应该为10*(4-1),而不是100*(4-1)
*/
$query ="Select * FROM `news` orDER BY `id` DESC LIMIT ".($page-1)*$page_count.","."$page_size";
$result = mysql_query($query); //数据集保存在$result中,给页面调用
?>
<table width="571" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#0066FF">
<tr>
<td width="5" bgcolor="#FFFFFF"><div align="center"></div></td>
<td width="343" bgcolor="#FFFFFF"><div align="center">标题</div></td>
<td width="189" bgcolor="#FFFFFF"><div align="center">时间</div></td>
</tr>
<?php
/*循环把页面的数据显示出来*/
while($l_result = mysql_fetch_array($result))
{
?>
<tr>
<td bgcolor="#FFFFFF"><div align="center"><?php echo $l_result['id'];?></div>
</td>
<td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['title'];?></a></div></td>
<td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['p_time'];?></a></div></td>
</tr>
<?php
}
?>
</table><br>
<center><a href="new.php">发布信息</a><br></center>
<?php //页码显示
for ($i=1;$i<=($page_count-1);$i++){
echo "<a href=’list.php?page=".$i."’>".$i."</a> ";
}
//页码显示
?>
代码有bug,看我的解释!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询