4、好了,上面數(shù)據(jù)庫也建立了,PHP連接數(shù)據(jù)庫我們也做好了。那么,我們該學(xué)習(xí)對MYSQL數(shù)據(jù)庫進(jìn)行操作了吧: select 查詢; update 更新; insert 插入; delete 刪除; 如果你有ASP或其他語言基礎(chǔ)的話,我想理解應(yīng)該很easy吧!
那么第一步,從首頁開始:讀取數(shù)據(jù)庫中的信息。首頁主要是循環(huán)顯示forums中的所有論壇版塊。對于有基礎(chǔ)的人來說,查詢語句很容易:
<?php $sql="select * from forums"; ?>
那么,如何來執(zhí)行這個查詢語句呢?PHP中用mysql_query()函數(shù)來執(zhí)行SQL語句。這里要注意的是:mysql_query()函數(shù)來執(zhí)行SQL語句時,如果執(zhí)行的是一個SELECT語句,執(zhí)行后返回一個INT型的標(biāo)識,如果是非SELECT語句(INSERT,UPDATE等)返回的是boolean型的數(shù)據(jù)。所以有ASP基礎(chǔ)的同學(xué)不要把這里認(rèn)為成已經(jīng)成功得到記錄集。我們可以先來看看ASP:
<!--#include file="conn.asp"--> <% sql="select * from forums" rs.open sql,conn,1,1 do while not rs.eof response.write rs("***") rs.movenext loop %>
如果得到了數(shù)據(jù),直接rs("***")就可以得到想要的數(shù)據(jù)了。但是PHP中這里,執(zhí)行完mysql_query()函數(shù),并沒有得到最終我們想要的數(shù)據(jù)。還需要使用其他函數(shù)來獲取最終數(shù)據(jù),我經(jīng)常使用mysql_fetch_array()和mysql_fetch_row()來獲取查詢結(jié)果。這兩個函數(shù)操作的對象都是剛才mysql_query()執(zhí)行后的結(jié)果。所以,我這樣寫:
<?php require("conn.php"); //先把conn.php引入,目的就是打開數(shù)據(jù)庫連接
$sql="select * from forums"; $result=mysql_query($sql); while($rs=mysql_fetch_array($result)){ echo "論壇:".$rs["forum_name"]."</br>"; } ?>
這樣運(yùn)行,頁面沒有任何輸出,因?yàn)槲覀儎偨⒌臄?shù)據(jù)庫中沒有任何數(shù)據(jù)!那么,我希望讓論壇更加人性化,假如沒有論壇版塊應(yīng)該輸出“對不起,論壇尚在建設(shè)中……”的字樣應(yīng)該怎么辦??mysql_num_rows()可以得到結(jié)果數(shù)目,mysql_result()也可以。 mysql_num_rows(int result)用來獲取查詢結(jié)果數(shù)目。參數(shù)result是mysql_query()等返回的結(jié)果標(biāo)識; mysql_result(int resule,int row)用來獲取查詢記錄集,參數(shù)result是mysql_query()等返回的結(jié)果標(biāo)識,row是要獲取記錄的行號; 代碼如下:
<?php require("conn.php");
$sql="select * from forums"; $result=mysql_query($sql); $num=mysql_num_rows($result); if($num>0){ while($rs=mysql_fetch_array($result)){ echo "論壇:".$rs["forum_name"]."</br>"; } }else{ echo "對不起,論壇尚在建設(shè)中……"; } /* 或者你可以這樣寫 $sql="select count(*) from forums"; $num=mysql_result(mysql_query($sql),0); $sql="select * from forums"; $result=mysql_query($sql);
或者這樣寫 $sql="select count(*) as num from forums"; $result=mysql_query($sql); $num=mysql_fetch_array["num"]; */ ?>
運(yùn)行結(jié)果如下圖:
HOHO~~~~~,能夠讀取數(shù)據(jù)了,那下面我們該美化一下我們的首頁了吧,用DW吧^@^。下面是首頁論壇列表的表格在DW中(我美工不匝地,望大家先不要扔磚頭……):
代碼如下:
<?php require("conn.php");
……
?> <table width="90%" border="0" align="center" cellpadding="5" cellspacing="1"> <tr> <td colspan="3">論壇列表</td> </tr> <tr> <td width="6%"><strong>狀態(tài)</strong></td> <td width="70%"><strong>論壇</strong></td> <td width="24%"><strong>最后更新</strong></td> </tr> <?php $sql="select * from forums"; $result=mysql_query($sql); $num=mysql_num_rows($result); if($num>0){ while($row=$db->db_fetch_array($result)){ ?> <tr> <td></td> <td><?php echo "<div class=\"bold\"><a class=\"forum\" href=\"forums.php?F=".$row["ID"]."\">".$row["forum_name"]."</a></div>".$row["forum_description"] ?></td> <td><div><?php echo $row["last_post_time"]." By ".$row["last_post_author"]?></div></td> </tr> <?php } }else{ echo "<tr><td colspan=3>對不起,論壇尚在建設(shè)中……</td></tr>"; } close_db(); //調(diào)用close_db()函數(shù),關(guān)閉連接,釋放系統(tǒng)資源 ?> </table>
運(yùn)行結(jié)果如下圖:
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁 我的微型論壇的簡單教程 [4] 下一頁 我的微型論壇的簡單教程 [6]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|