php mysql 循环显示数据的几种方式对比
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
用于显示数据库数据的时候,一般用循环体来做,常用的方法有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中运行通过 该文章在 2012/7/11 16:53:20 编辑过 |
关键字查询
相关文章
正在查询... |