詳細解析 PHP 向 MySQL 發(fā)送數(shù)據(jù)過程(5)_PHP教程
推薦:PHP實現(xiàn)靜態(tài)發(fā)布的方法淺談如今很多網(wǎng)站都是靜態(tài)發(fā)布的,PHP當然也可以方便的實現(xiàn)靜態(tài)發(fā)布嘍,具體的實現(xiàn)方法很多,下面我就說說我會的兩種方法。 方法一:ob_get_contents() 這是一種很方便的方法,也是很常用的方法
| if($row=mysql_fetch_array($result)){ do{ print$row["first_name"]; print(""); print$row["last_name"]; print("<p>"); }while($row=mysql_fetch_array($result)); }else{print"對不起,再我們的數(shù)據(jù)庫中,沒有找到符合的紀錄。";} |
這是最后的一步,就是顯示部分了。 mysql_fetch_array 函數(shù)先提取出查詢結(jié)果的第一行的內(nèi)容,在用 PRINT 語句顯示出來。這個函數(shù)的參數(shù)就是 mysql_query 函數(shù)返回的整數(shù)標志。而 mysql_fetch_array 執(zhí)行成功后,記錄集指針會自動下移,這樣當再一次執(zhí)行 mysql_fetch_array 時,得到的就是下一行紀錄的內(nèi)容了。
數(shù)組變量 $row 被 mysql_fetch_array 函數(shù)建立并用查詢的結(jié)果字段來填充,數(shù)組的每一個分量對應(yīng)于查詢結(jié)果的每一個字段。
如果有符合的紀錄被找到,變量 $row 不會空,這時就會執(zhí)行花括號中的語句:
| do{ print$row["first_name"]; print(""); print$row["last_name"]; print("<p>"); }while($row=mysql_fetch_array($result)); |
這是一個 do … while 循環(huán)。與 while 循環(huán)不同的是,它是先執(zhí)行一遍循環(huán)循環(huán)體,然后在檢查循環(huán)條件是否滿足。由于已經(jīng)知道在紀錄集不為空的情況下,肯定至少要把循環(huán)體執(zhí)行一遍,所以應(yīng)該用到的是 do … while 而不是 while 循環(huán)了。在花括號中的就是要執(zhí)行的循環(huán)體:
| print$row["first_name"]; print(""); print$row["last_name"]; print("<p>"); |
然后就是檢查 while 條件是否滿足。 Mysql_fetch_array 函數(shù)再次被調(diào)用,來得到當前紀錄的內(nèi)容。這個過程一直循環(huán),當沒有下一條紀錄存在時, mysql_fetch_array 返回 false ,循環(huán)結(jié)束,紀錄集也就被完全的遍歷了一次。
mysql_fetch_array($result) 返回的數(shù)組,不僅可以用字段名來調(diào)用,也可以像一般的數(shù)組那樣,用下標來引用數(shù)組的各個分量。這樣,上面的代碼還可以寫成這樣:
| print$row[0]; print(""); print$row[1]; print("<p>"); |
我們還可以用 echo 函數(shù)來把這四條語句寫的緊湊一些:
| echo $row[0], " ", $row[1], "< p>"; |
當沒有任何匹配的紀錄被找到時,在 $row 中就不會有任何內(nèi)容,這時就會調(diào)用 if 語句的 else 子句了:
else {print " 對不起,再我們的數(shù)據(jù)庫中,沒有找到符合的紀錄。 ";}
分享:PHP技術(shù)進階 用PHP處理多個同名復選框如果一個表單中有多個同名復選框,在提交到php時卻只有一個值,而并不像asp那樣是一串用逗號分割的值。有一個很簡單的方法來解決:將復選框的name后面加上[],例如:<input type="check
- 相關(guān)鏈接:
- 教程說明:
PHP教程-詳細解析 PHP 向 MySQL 發(fā)送數(shù)據(jù)過程(5)
。