高级数据库技术 上一层 [软件下载] [累计得分] [教学论坛] [林定移教学辅助服务器] [关于林定移]

第二章2

第一章1 第二章1 第三章1


PHP/MySQL教程
第1节 while循环
第2节 if-else
第3节 第一个程序脚本
第4节 向服务器发送数据
第5节 修改数据
第6节 完整的程序

[第一章][第二章][第三章]

 

第2节 if-else

请看下面的程序。


<html>

<body>

<?php

$db = mysql_connect("localhost", "root");

mysql_select_db("mydb",$db);

$result = mysql_query("SELECT * FROM employees",$db);

if ($myrow = mysql_fetch_array($result)) {

  echo "<table border=1>\n";

  echo "<tr><td>姓名</td><td>住址</td></tr>\n";

  do {

    printf("<tr><td>%s %s</td><td>%s</tr>\n", $myrow["first"], 
$myrow["last"], $myrow["address"]);

  } while ($myrow = mysql_fetch_array($result));

	echo "</table>\n";

} else {

	echo "对不起,没有找到记录!";	

}


?>


</body>


</html>

这段程序中包含有不少新内容,不过这些内容都相当简单。首先是mysql_fetch_array()函数。该函数与mysql_fetch_row()十分相近,只有一点不同:使用这个函数时,我们可以通过字段名而不是数组下标来访问它返回的字段,比如$myrow["first"]。这样我们就可以省不少力气了。另外,程序中还加进了do/while循环和if-else条件判定语句。

if-else条件判定语句的含意是,如果我们成功地把一条记录赋给了$myrow变量,那就继续;否则,就跳到else部分,执行那里的指令。

do/while循环是我们在上页中用户的while()循环的一个变体。我们要用到do/while的原因是:在最初的if语句中,我们已经把查询返回的第一条记录赋给变量$myrow了。如果这时我们执行一般的while循环(比如,while ($myrow = mysql_fetch_row($result)),那我们就会把第二条记录赋给$myrow,而第一条记录就被冲掉了。但是do/while循环可以让我们执行一次循环体内容之后再来判定循环条件。因此,我们就不会不小心漏掉第一条记录了。

最后,如果查询结果没有任何记录的话,程序就会执行包含在else{}部分的那些语句。如果您想看到这部分程序的执行情况,可以把SQL语句改为SELECT * FROM employees WHERE id=6,或改成其他形式,使得查询结果中没有任何记录。

下面我们来扩充一下循环if-else 代码,使得页面内容更加丰富。相信您会喜欢的。>>


如有关于本站点的问题或建议,请向lin@bnu.edu.cn发邮件。 版权所有(C) 2000-2020  林定移教学辅助服务器