阿七
级别: 未验证会员
精华:
0
发帖: 909
威望: 0 点
金钱: 2161 RMB
贡献值: 0 点
在线时间:512(小时)
注册时间:2006-03-29
最后登录:2008-08-07
|
PHP/MySQL三日通-第二天(一)
一、 while循环 &Qtp"#{ ]m/@wW9 在这一课里,我们将会继续深入下去,使用PHP和MySQL来写出一些简单而有用的页面。我们从昨天创建的数据库开始,显示库中的数据,但是会再稍微加以润色。 E2q B
: w~Tq|kU[ 首先,我们用下面的代码来查询数据库内容。 f>s#Ngvc np`gcj# $#@60;html$#@62; f0cYvL] *C3uMiz $#@60;body$#@62; 1F3QI|
JO&;bT< $#@60;?php {hs2?#p Qe @A5# Ersr\ZB $db = mysql_connect("localhost", "root"); j#LV7@H.e? ?b*/ddIs mysql_select_db("mydb",$db); r21?c|IP Y'<uZl^aX $result = mysql_query("SELECT * FROM employees",$db); =9DhO7I' ?;:9
W echo "$#@60;table border=1$#@62;\n";
7GBZA=J DqurHQ z)m echo "$#@60;tr$#@62;$#@60;td$#@62;姓名$#@60;/td$#@62;$#@60;td$#@62;职位$#@60;/td$#@62;$#@60;/tr$#@62;\n"; .^[fG59 DU/9/ I?~ while ($myrow = mysql_fetch_row($result)) { Zzw}sZ?8 q7O,I`KaJ printf("$#@60;tr$#@62;$#@60;td$#@62;%s %s$#@60;/td$#@62;$#@60;td$#@62;%s$#@60;/td$#@62;$#@60;/tr$#@62;\n", $myro QoW(tM w[1], $myrow[2], $myrow[3]); 27Kc-rcB 3i]"#wK u|_LR5S!j } 2cs?("8e% S 0R8'Y echo "$#@60;/table$#@62;\n"; .
iOw0z <_BqpZ^` ?$#@62; ^w;o \G [<en
1 $#@60;/body$#@62; 4 o3)* oJlN.Q#u& $#@60;/html$#@62; ~=`f]IL G
]L0eV 您可能已经注意到,我们在这个程序里加进了一些新东西。最明显的是while()循环。该循环是说,只要数据库里还有记录可读(使用mysql_fetch_row()函数),那就把该记录赋给变量$myrow,然后执行大括号({})内的指令。仔细看一下这里,这部分是比较重要的。 92P,:2`a th.M.jas 我们应该注意一下mysql_fetch_row()函数。这里有一点小问题,它返回的是一个数组,必须以数组下标来访问其中的某个字段。第一个字段下标为0,第二个是1,依此类推。在执行某些复杂查询时,这么做简直实在是太烦琐了。 S`pF7[%rp t Y:G54d=_ 现在我们更仔细地研究一下循环过程。程序前几行我们在第一课的例子中已经看到过了。然后,在while()循环中,我们从查询结果中读取一条记录并把该记录赋给数组$myrow。接着,我们用printf函数把数据中的内容显示在屏幕上。随后,循环反复执行,读取下一条记录赋给$myrow。这样继续下去,直到所有记录都已被读取完为止。 g6rv`I$l Du)B9s 使用while()循环? 个好处是,如果数据库查询没有返回任何记录,那您也不会收到错误信息。在刚执行循环语句时,循环条件就不满足,不会有任何数据赋给$myrow,程序就直接往下运行了。 KW&nDu | |