[php] 我的微型論壇的簡單教程[已完成]第5/8頁
4、好了,上面數據庫也建立了,PHP連接數據庫我們也做好了。那么,我們該學習對MYSQL數據庫進行操作了吧:
select 查詢;
update 更新;
insert 插入;
delete 刪除;
如果你有ASP或其他語言基礎的話,我想理解應該很easy吧!
那么第一步,從首頁開始:讀取數據庫中的信息。首頁主要是循環(huán)顯示forums中的所有論壇版塊。對于有基礎的人來說,查詢語句很容易:
<?php
$sql="select * from forums";
?>
那么,如何來執(zhí)行這個查詢語句呢?PHP中用mysql_query()函數來執(zhí)行SQL語句。這里要注意的是:mysql_query()函數來執(zhí)行SQL語句時,如果執(zhí)行的是一個SELECT語句,執(zhí)行后返回一個INT型的標識,如果是非SELECT語句(INSERT,UPDATE等)返回的是boolean型的數據。所以有ASP基礎的同學不要把這里認為成已經成功得到記錄集。我們可以先來看看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
%>
如果得到了數據,直接rs("***")就可以得到想要的數據了。但是PHP中這里,執(zhí)行完mysql_query()函數,并沒有得到最終我們想要的數據。還需要使用其他函數來獲取最終數據,我經常使用mysql_fetch_array()和mysql_fetch_row()來獲取查詢結果。這兩個函數操作的對象都是剛才mysql_query()執(zhí)行后的結果。所以,我這樣寫:
<?php
require("conn.php"); //先把conn.php引入,目的就是打開數據庫連接
$sql="select * from forums";
$result=mysql_query($sql);
while($rs=mysql_fetch_array($result)){
echo "論壇:".$rs["forum_name"]."</br>";
}
?>
這樣運行,頁面沒有任何輸出,因為我們剛建立的數據庫中沒有任何數據!那么,我希望讓論壇更加人性化,假如沒有論壇版塊應該輸出“對不起,論壇尚在建設中……”的字樣應該怎么辦??mysql_num_rows()可以得到結果數目,mysql_result()也可以。
mysql_num_rows(int result)用來獲取查詢結果數目。參數result是mysql_query()等返回的結果標識;
mysql_result(int resule,int row)用來獲取查詢記錄集,參數result是mysql_query()等返回的結果標識,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 "對不起,論壇尚在建設中……";
}
/* 或者你可以這樣寫
$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"];
*/
?>
運行結果如下圖:
HOHO~~~~~,能夠讀取數據了,那下面我們該美化一下我們的首頁了吧,用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>對不起,論壇尚在建設中……</td></tr>";
}
close_db(); //調用close_db()函數,關閉連接,釋放系統(tǒng)資源
?>
</table>
運行結果如下圖:
相關文章
Yii2.0使用阿里云OSS的SDK上傳圖片、下載、刪除圖片示例
本篇文章主要介紹了Yii2.0使用阿里云OSS的SDK上傳圖片、下載、刪除圖片示例,具有一定的參考價值,有興趣的可以了解一下2017-09-09ThinkPHP框架實現導出excel數據的方法示例【基于PHPExcel】
這篇文章主要介紹了ThinkPHP框架實現導出excel數據的方法,結合實例形式分析了thinkPHP添加org擴展基于PHPExcel進行Excel數據的導出操作相關實現技巧,需要的朋友可以參考下2018-05-05淺談Laravel POST,PUT,PATCH 路由的區(qū)別
今天小編就為大家分享一篇淺談Laravel POST,PUT,PATCH 路由的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10