首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP/MySQL 三日通 (第 3 天):While 迴圈與 If-Else 條件判斷實戰

     編輯:PHP 綜合知識

深入資料庫讀取與顯示邏輯,掌握 while 迴圈與 if-else 流程控制。

基礎 While 迴圈讀取資料

<?php
$db = mysql_connect("localhost", "root");
mysql_select_db("mydb", $db);
$result = mysql_query("SELECT * FROM employees", $db);
echo "<table border=1>\n";
echo "<tr><td>姓名</td><td>職位</td></tr>\n";
while ($myrow = mysql_fetch_row($result)) {
    printf("<tr><td>%s %s</td><td>%s</td></tr>\n", $myrow[1], $myrow[2], $myrow[3]);
}
echo "</table>\n";
?>
  • mysql_fetch_row() 回傳數值索引陣列,欄位從 0 開始,複雜查詢時易混淆。
  • 無資料時迴圈不執行,不會報錯,但無提示訊息。

進階:If-Else + Do-While + mysql_fetch_array()

<?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</td></tr>\n", $myrow["first"], $myrow["last"], $myrow["address"]);
    } while ($myrow = mysql_fetch_array($result));
    echo "</table>\n";
} else {
    echo "對不起,沒有找到記錄!";
}
?>

關鍵改進

  1. mysql_fetch_array() 同時提供關聯與數值索引,可用欄位名 $myrow["first"] 讀取,碼更易讀。
  2. if-else 先判斷是否有資料,無資料顯示友善訊息。
  3. do-while 確保第一筆資料(已在 if 中讀取)不會遺漏,避免一般 while 直接讀取下一筆導致首筆丟失。

掌握此模式,即可建立健壯的資料列表頁面。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved