PHP几种显示数据的方法的比较

王朝php·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

用于显示数据库数据的时候,一般用循环体来做,常用的方法有while()和for()两种语句,下面就来讲一下他们在不同情况下各自的用法。

我们来分别介绍:

while()语句是可以显示全部数据,在不知道循环次数的情况下,尤其显得方便,而for()语句呢,可以输出显示从指定位置开始到指定位置结束的数据,在输出显示一定范围的数据时就用得上了。下面看一下编程实例:

我们先建一个数据库来备用:数据库名为:mydb 表名为:tbl。

用下面的语句:create table tal (idx int(3),url char (100),freetext char(100))

可以用phpmyadmin工具来向数库表中插入若干个数据。

编程开始:

 $id=mysql_connect("localhost") or die("无法建立数据库链接");#链接数据库

 $result=mysql_db_query("mydb","select * from tbl", $id);#查询结果并存入变量中

 $rows=mysql_num_rows( $result);#得出数据表中的总行数,也就是数据的总个数

echo"<table>";#准备以表格的形式输出

echo "</table>";#表格结束

在上面两句中插入输出语句,对应于不同的情况,输出语句分为几种情况:

若输出全部数据,先用for()来做

for( $i=0; $i< $rows; $i++){

 $total=mysql_fetch_array( $result);

echo "<tr><td bgcolor=yellow><a href="http:// $total[url]"target=_blank> $total[freetext]</a> $total[idx]</tr></td>";

}

用while()来做

while( $total=mysql_fetch_array( $result))

{ echo "<tr><td bgcolor=yellow><a href="http:// $total[url]"target=_blank> $total[freetext]</a> $total[idx]</tr></td>";

}

当我们想要分页显示的时候,也就是不能一下子把所有的数据一次性的显示完,那么可以用for()来完成这个任务。

我们假设每输出10个数据,用 $page来表示当前的页数 $pagesize=10来表示第页的数据数量.语句如下所示:

for ( $i=0; $i< $pagesize; $i++)

{

 $start=( $page-1)* $pagesize+ $i;#计数起始的数据行数

if ( $start< $rows)

 $idx=mysql_result( $result, $start,"idx");

 $url=mysql_result( $result, $start,"url");

 $freetext=mysql_result( $result, $start,"freetext");

echo "<tr><td bgcolor=yellow><a href="http:// $url"target=_blank> $freetext</a> $idx</tr></td>";

上述语句用for()分别得出数据表中的各字段的值存入变量中,用echo语句显示出来。

以上程序在apache+mysql+php4中运行通过

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航