Linux 版 (精华区)
发信人: fgr (乱舞势力), 信区: Linux
标 题: if-else 语句
发信站: 紫 丁 香 (Thu Jan 20 19:36:47 2000) WWW-POST
第二页 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 代码,使得页面内容更加丰富。相信您会喜欢的。>>
--
看到五代说:"我喜欢的女孩...很会吃醋,任性,爱哭,易怒...但是,她的微笑...
就是我最大的幸福..."
看到响子说:"我只要你答应我一件事;哪怕是一天,你一定要比我活得更久,我再也
不要一个人孤孤单单的活下去了!"
总是很动情。
※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: 202.118.233.21]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.244毫秒