php與mysql三日通-第二天
來源:互聯網
上載者:User
一、 while迴圈
在這一課裡,我們將會繼續深入下去,使用PHP和MySQL來寫出一些簡單而有用的頁面。我們從昨天建立的資料庫開始,顯示庫中的資料,但是會再稍微加以潤色。
首先,我們用下面的代碼來查詢資料庫內容。
<html>
<body>
<?php
$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
$result = mysql_query("SELECT * FROM employees",$db);
echo "<table border=1>";
echo "<tr><td>姓名</td><td>職位</td></tr>";
while ($myrow = mysql_fetch_row($result)) {
printf("<tr><td>%s %s</td><td>%s</td></tr>", $myrow[1], $myrow[2], $myrow[3]);
}
echo "</table>";
?>
</body>
</html>
您可能已經注意到,我們在這個程式裡加進了一些新東西。最明顯的是while()迴圈。該迴圈是說,只要資料庫裡還有記錄可讀(使用mysql_fetch_row()函數),那就把該記錄賦給變數$myrow,然後執行大括弧({})內的指令。仔細看一下這裡,這部分是比較重要的。
我們應該注意一下mysql_fetch_row()函數。這裡有一點小問題,它返回的是一個數組,必須以數組下標來訪問其中的某個欄位。第一個欄位下標為0,第二個是1,依此類推。在執行某些複雜查詢時,這麼做簡直實在是太煩瑣了。
現在我們更仔細地研究一下迴圈過程。程式前幾行我們在第一課的例子中已經看到過了。然後,在while()迴圈中,我們從查詢結果中讀取一條記錄並把該記錄賦給數組$myrow。接著,我們用printf函數把資料中的內容顯示在螢幕上。隨後,迴圈反覆執行,讀取下一條記錄賦給$myrow。這樣繼續下去,直到所有記錄都已被讀取完為止。
使用while()迴圈的一個好處是,如果資料庫查詢沒有返回任何記錄,那您也不會收到錯誤資訊。在剛執行迴圈語句時,迴圈條件就不滿足,不會有任何資料賦給$myrow,程式就直接往下運行了。
但是如果查詢未返回任何資料,我們怎麼讓使用者知道這一點呢?我們也許該提供點兒相關的訊息給使用者吧。這是可以做到的,下面我們就看看怎麼做。>>
二、 if-else
請看下面的程式。