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)
页面执行时间:7.586毫秒