[php] 我的微型論壇的簡單教程[已完成]第5/8頁
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í)行這個(gè)查詢語句呢?PHP中用mysql_query()函數(shù)來執(zhí)行SQL語句。這里要注意的是:mysql_query()函數(shù)來執(zhí)行SQL語句時(shí),如果執(zhí)行的是一個(gè)SELECT語句,執(zhí)行后返回一個(gè)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é)果。這兩個(gè)函數(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é)果如下圖:
相關(guān)文章
Yii2.0使用阿里云OSS的SDK上傳圖片、下載、刪除圖片示例
本篇文章主要介紹了Yii2.0使用阿里云OSS的SDK上傳圖片、下載、刪除圖片示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09ThinkPHP框架實(shí)現(xiàn)導(dǎo)出excel數(shù)據(jù)的方法示例【基于PHPExcel】
這篇文章主要介紹了ThinkPHP框架實(shí)現(xiàn)導(dǎo)出excel數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了thinkPHP添加org擴(kuò)展基于PHPExcel進(jìn)行Excel數(shù)據(jù)的導(dǎo)出操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05ThinkPHP實(shí)現(xiàn)將SESSION存入MYSQL的方法
這篇文章主要介紹了ThinkPHP實(shí)現(xiàn)將SESSION存入MYSQL的方法,需要的朋友可以參考下2014-07-07php刪除數(shù)組指定元素實(shí)現(xiàn)代碼
這篇文章主要介紹了php刪除數(shù)組指定元素實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05淺談Laravel POST,PUT,PATCH 路由的區(qū)別
今天小編就為大家分享一篇淺談Laravel POST,PUT,PATCH 路由的區(qū)別,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10