网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > PHP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.vBulletin HACK----显示话题大小.
.PHP取得文件后缀.
.更好的构造开发模板 五种PHP设计.
.PHP中函数内引用全局变量的方法.
.PHP中上传大体积文件时需要的设置.
.PHP实现简单线性回归之数据研究工.
.PHP Socket方式提交的post详解.
.实现分十页分向前十页向后十页的.
.使用PHP动态生成gif时遇到的问题.
.BluePage通用分页类助开发者提高.
.PHP文本数据库的搜索方法.
.PHP 中的一些经验积累.
.用PHP连接Oracle数据库.
.一个高ai的分页函数和一个url函数.
.为什么PHP令人不爽(对于大型系统.
.一个取得文件扩展名的函数.
.PHP下对缓冲区的控制.
.关于PHP操作文件的一些FAQ总结.
.在PHP5中使用DOM控制XML.
.Apache, PHP在Windows 9x/NT下的.

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

发表日期:2000-12-26


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

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    
上一篇:用session做客户验证时的注意事项 人气:12419
下一篇:一个用于网络的工具函数库 人气:10776
浏览全部的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐