呵呵,学习PHP的时间,看我的注册时间吧.
不过,之前有过一点C++的基础,所以语法还是挺容易看懂的.
呵呵,看完的新手们可以接着看
http://www.phpchina.com/bbs/thread-32482-1-1.html
是在这篇帖子的基础上扩展的,我准备以此为基础,不停的完善这个程序,分享学习过程
但是就是看 MYSQL语法啊,对于SQL,我一点概念都没有,后来找了很多资料,才终于知道了基本概念
就是,数据库->表->字段->行; (呵呵,也许有的人认为很简单,但是这花了我两天的时间才领悟的,本人比较笨,呵呵)
然后,知道了数据库的概念之后,我就想应该可以弄个留言本玩玩了吧.
但是,由于除了写echo之外,从来没有写过PHP代码,所以,基本上这个粗糙的留言本都是翻资料,在论坛找资料所得
如果是高手的话,就不用看了吧,因为这确实比较简单的,
如果你还是刚入门,就可以看看,因为我把思路都放在注释里面了.
下面,就看我这个最最简单的留言本吧.呵呵
首先,是数据库的结构,既然是最粗糙的留言本,就只需要这几个字段:
ID(我看到别人一般都有,也就加了,是自动增长的)
name 就是留言者的名称
content 留言内容
ltime 留言的时间
其中,name和content是需要留言的人自己写的,其他是自动生成的.
现在我把建立表的语句放上来:
复制内容到剪贴板
代码:
create table if not exists my_liuyan #这里是建立一个表
( lid int not null auto_increment primary key, #建立一个lid,自动增加,主键
name varchar(30) not null, #建立了一个名字
content blob not null, #建立了内容字段,类型为 blob ,是查资料的,虽然对blob还不了解
ltime varchar(30) not null #建立了存贮发言时间的字段,本来类型是定义成 datetime 的,但是我要存贮的是07年8月4日04:05:36
#这种形式的,所以就把 datatime 改成了 varchar(30) 了
);一开始写这个SQL语句的时候,都犯了很多错误,比如 create ,我就写成了 creat ,呵呵,毕竟一开始写,我知道这是一个过程.
然后把上面这段放在 phpmyadmin 里面运行,就建立这个表(当然,在此之前弄错了好多);
然后,我就开始写全局变量的文件:
首先,是config.inc 这个配置文件代码:
复制内容到剪贴板
代码:
<?php
//全局变量
$DBHOST = 'localhost'; //数据库服务器地址,我是在本地的
$DBUSER = 'root'; //数据库用户
$DBPWD = ' '; //数据库密码,我这里就不写了,呵呵
$DBNAME = 'myliuyan'; //这是我在phpmyadmin里面建立的一个数据库,里面来放我刚刚建立的一个表
?>然后,就是开始写 index.htm 这个静态页面了.也贴出代码:(这里我只把 body这个标签里面的代码贴出来)
复制内容到剪贴板
代码:
<body>
<form action="jieshou.php" method="POST"> <!--这里表示接受这个表单数据的文件地址:jieshou.php,方法是post--!>
姓名:<input type="text" name="user_name"/>
<!--定义接受姓名的变量为user_name--!>
信息内容:
<textarea name="user_content" cols="40" rows="8"></textarea> <!--定义接受内容的变量为user_content--!>
<input type="submit" name="btn_ok" value="提交"/> <!--定义一个提交按钮,这里我定义了一个变量,但是后面没有用,因为我看资料,有的资料定义了这个变量,我想是以后有用的吧--!>
</form>
</body>呵呵,是不是很简陋的页面啊,先不管,看看能不能成功再说.
然后,要写 jieshou.php 这个文件了,这个文件的任务就是把留言的信息提交到数据库中去,贴代码:
复制内容到剪贴板
代码:
<?php
//使用接受一下参数,看看对不对(这是一开始还没有链接数据库的时候,我做的测试)
$user_name = $_POST['user_name']; //得到用户名
//echo $user_name; //这是刚开始我做的看能不能得到在index.htm中的数据写的语句
$user_content = $_POST['user_content']; //得到留言内容
/////////////////////////////////////////////
//这里,我要说一下上面两个语句,也就是我得到index.htm中的语句
//之前,资料中是用 $HTTP_GET_VARS得到数据的
// 然而,我看到很多人用 $_POST,所以,在论坛找到了资料
//一个是PHP4.3之前的用法,一个是4.3之后的版本
///////////////////////////////////////////////////////////////////////////
$creat_time = date(y.'年'.m.'月'.d.'日'.h.':'.i.':'.s); //得到提交留言日期
////////// 同时,上面这个函数 datedate(y.'年'.m.'月'.d.'日'.h.':'.i.':'.s) 也是查资料的,得到的是 07年08月04日12:03:36这样的形式.
//链接数据库
include_once('config.inc'); //引入数据库参数 ,把刚刚那个文件的变量引入进来了.
$con = mysql_connect($DBHOST,$DBUSER,$DBPWD); //这个函数是链接到数据库的函数
//if($content) echo '数据库链接成功'; //这个也是测试数据库链接的情况
mysql_select_db($DBNAME,$con); //这个是选择数据库,前几次因为忘了选择数据库,所以总是插入失败
//if($close) echo '数据库关闭成功'; //同样,这个也是测试数据库的关闭成功情况,后来也是忘了把这句注释
//掉,弄得插入失败
$query = "INSERT INTO my_liuyan (name,content,ltime)";
$query.= "VALUES('$user_name','$user_content','$creat_time')"; //这两行是数据库查询语句,不过还没有实行,
echo $query; //输出查询语句,看看有没有语法错误
$reslt = mysql_query($query); //这个函数是查询函数,这一句才是插入数据的命令
if($reslt) echo '数据库插入成功'; //看看数据插入成功否
$close = mysql_close($con); //关闭数据库
?>然后,测试后,成功的写入信息到数据库了,但是,我在phpmyadmin中看BLOB数据的时候,看不到,请问怎么看BLOB数据?
然后,就是查看留言内容的页面了,其实就是一个查询数据库的页面,代码贴上:
复制内容到剪贴板
代码:
<?php
//////////////////测试查询数据库
include_once('config.inc'); //引入文件
$con = mysql_connect($DBHOST,$DBUSER,$DBPWD); //链接数据库
mysql_select_db($DBNAME,$con); //选择数据库
$query = "select * from my_liuyan"; //设置查询的语句
$reslt = mysql_query($query); //实施查询命令
//if($query) echo '查询成功
';//测试查询成功否
while ($row = mysql_fetch_row($reslt)) //把结果返回到 $row 数组中
{
echo 'ID: '.$row[0].'
';
echo 'name: '.$row[1].'
';
echo 'content: '.$row[2].'
';
echo 'time: '.$row[3].'
';
echo '<hr/>';
} //这段while语句就 把查询到的语句输出出来
mysql_close($con); //关闭数据库
?>好了,这就是昨天晚上花了3个小时做出来的,
其中,自己范了很多错误,是学到在看书时没有意识到的错误.
虽然程序很简陋,也没有设计到分页查询,但是,这毕竟是自己的第一个有功能的程序了
呵呵,所以就厚着脸皮发出来,
然后自己再把程序不断完善,在这个过程学到更多的知识和技巧.
对于高手来说,这个应该是最基本的代码了,所以,如果大家有什么建议的话,也可以说出来,
帮助我们这些菜鸟成长吧.
顺便问一下:加入字段(也就是列),应该用什么语句?