[php] 我的微型论坛的简单教程[已完成]第5/8页
4、好了,上面数据库也建立了,PHP连接数据库我们也做好了。那么,我们该学习对MYSQL数据库进行操作了吧:
select 查询;
update 更新;
insert 插入;
delete 删除;
如果你有ASP或其他语言基础的话,我想理解应该很easy吧!
那么第一步,从首页开始:读取数据库中的信息。首页主要是循环显示forums中的所有论坛版块。对于有基础的人来说,查询语句很容易:
<?php
$sql="select * from forums";
?>
那么,如何来执行这个查询语句呢?PHP中用mysql_query()函数来执行SQL语句。这里要注意的是:mysql_query()函数来执行SQL语句时,如果执行的是一个SELECT语句,执行后返回一个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中这里,执行完mysql_query()函数,并没有得到最终我们想要的数据。还需要使用其他函数来获取最终数据,我经常使用mysql_fetch_array()和mysql_fetch_row()来获取查询结果。这两个函数操作的对象都是刚才mysql_query()执行后的结果。所以,我这样写:
<?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>状态</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()函数,关闭连接,释放系统资源
?>
</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 路由的区别
今天小编就为大家分享一篇浅谈Laravel POST,PUT,PATCH 路由的区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-10-10
最新评论