对这段程序偶就不做详细的讲解了。因为很麻烦,再说这和新闻程序的算法不是一回事,呵呵。在用的时候,偶们在输出的新闻标题后面这样写就可以了:
echo "<td>".$echopage."</td>";
放在后面是因为 $echopage. 里面包含了选择去第几页的程序。
偶们再来看以下程序:
1 : $sql="SELECT * FROM news order by id desc LIMIT $now,$recordnum";
这里的“ order by id desc ”意为驱除的记录是按编号由大到小的顺序输出的,换句话说就是新闻的输出总是新发表的在前面。 “ LIMIT $now,$recordnum ”限制了新闻输出的数目, id 的大小在 $now,$recordnum 之间,具体 $now,$recordnum 的数值请看上面的分页程序的讲解(粗黑体字部分)。
2 : $res=mysql_query($sql);
这条语句意思是向服务器发送请求,并将返回的结果保存在 $res 中。
3 : $rows=fetch_assoc($res);
这条语句意思是将查询结果 $res 的内容拆到一个数组 rows 中。如果 $res 中没有数据,函数返回 false 值。 fetch_assoc( ) 函数的作用和 mysql_fetch_row() 是一样的。
4 : while($rows)
{
echo "<tr>";
echo "<td valign='middle'><img src='https://www.jb51.net/sucai/biaozhi.JPG'><a href='index.php?id=".$rows["id"]."' target=_blank><font>".$rows["title"]."[".$rows["date"]."]</font></a></td>";
echo "</tr>";
}
while($rows) 便是按 id 的由大到小的顺序输出新闻的。 $rows["title"] , $rows["author"] 就是数组形式的内容了。
下面来谈谈如何查看每一条新闻的内容。
偶们来看看上面第 4 个程序中的:
<a href='index.php?id=".$rows["id"]."' target=_blank><font>".$rows["title"]."[".$rows["date"]."]</font></a>
其中的“ href='index.php?id=".$rows["id"]."' ”就是第 $rows["id"] 条新闻的具体地址了。从上面也可以看出显示具体新闻的程序也在 index.php 中了。当偶们点击这个超级链接时,此程序将参数传递给 PHP 文件中的同名变量。需要注意的是,你只能向动态页面传递参数,而不能传递给 .htm 结尾的静态页面。
那这里所说的参数是指什么呢?上面的“ index.php?id=".$rows["id"]." ”的“?”就是变量的开始,“ id ”则是变量名,“ ".$rows["id"]." ”就是变量的值了。如果还想向 PHP 文件传递更多的参数,可以用“ & ”隔开。例如:
index.php?id=".$rows["id"]."& title=".$rows["title"]."
在本程序中,偶们得到的变量名为“ id ”,现在偶们来分析这段程序吧!
1 :首先偶们要保证这个 id 在数据库是有数据的,所以偶们用以下语句来判断:
if(isset($_GET["id"])){ }
这里的 $_GET["id"] 就是从浏览器地址栏中接受数据的方式。 isset( ) 是判断有无数据的函数。
2 :如果有数据,偶们就把以下的程序写入上面的“ { } ”中。
$sql= "select * from news whereid"]."";
$res= mysql_query($sql);
$rows=fetch_assoc($res);
while($rows)
{
echo "<table width=750 cellpading=1 cellspacing=1 border=0 >";
echo "<tr>";
echo "<td colspan='3' valign='middle'><font size='+1' color=red><b>".$rows["title"]."</b></font></td>";
echo "</tr><br>";
echo "<tr>";
echo "<td valign='middle'><font color=red size='2'>".$rows["date"]." ".$rows["department"]." ".$rows["author"]."</font></td>";
echo "<tr>";
echo "<tr>";
echo "<td colspan='3'><hr></td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan='3' valign='middle'><font> ".$rows["content"]."</font></td></tr>";
echo "<tr>";
echo "</table>";
}
相信通过前面的讲解,您一定可以看懂上面的程序了。
芽雨原创php新闻系统教程(第一版) 第五讲:新闻程序的算法(一) --- 修改、删
三.修改、删除新闻
和查看新闻的程序一样,偶们要先列出所有的新闻标题,然后在选择具体的新闻进行修改、删除操作。
在这里列出新闻标题时,比 index.php 的程序多了一条语句,那就是输出:
<a href='editnews.php?id=".$rows["id"]."' target=_self> 修改 </a>
通过点击这个超级链接,偶们进入具体的修改、删除新闻的程序。
具体的程序如下: