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

时间:2010-01-16 10:37:55   来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:尤其显得方便,而for()语句呢,可以输出显示从指定位置开始到指定位置结束的数据,在输出显示一定范围的数据时就用得上了。下面看一下编程实例:     我们先建一个数据库来备用:数据库名为:mydb 表名为:tbl。   用下面的语句:create table tal (idx int(3),url char (100),freetext char(100))   可以用phpmyadmin工具来向数库表中...
  正文:

用于显示数据库数据的时候,一般用循环体来做,常用的方法有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中运行通过


来源:http://www.002pc.com/master/College/Programming/PHP/11949.html

收藏到:

关于《几种显示数据的方法的比较》文章的评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面

随机文章

    SQL Error: select * from ***_ecms_article where classid='86' and checked=1 order by rand() limit 10

顶出来的热门

    SQL Error: select * from ***_ecms_article where classid='86' and checked=1 order by diggtop desc,id desc limit 10
站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td