日期:2012-10-26  浏览次数:20553 次

一、编程之前的分析

   要做一个留言板,而且我们也决定了采用数据库方式做,所以我们要从以下几个步骤开始做:

  1.填写留言

   在什么地方写留言?

  2.传送留言 

    在文本框中输入了数据后肯定要以什么方式传到一个什么文件,而后一个文件又是这么接收变量的。

  3.入数据库

   后一个文件将接收的数据要进入数据库,所以,我们还要掌握这么往数据库中写入数据。

  4.查看结果

   将留言写入数据库后,主要是为了能在浏览器中查看,所以,我们要知道这么从数据库中读出数据。

二、做一个填写留言的文件(write.htm)

   <form action="write_ok.php" method="post">

   请输入您的昵称:<input type="text" name="nickname"><br>

   请留言:<textarea name="note"></textarea><br>

   <input type="submit" value="确定">

  </form>

三、PHP变量传送

    熟悉ASP的朋友可能知道,从一个文件传送变量到另一个文件后,第二个文件是request接收数据的;而PHP似乎更简单,当一个文件将变量传送到另一个文件后,自动产生一个变量,下面,我将ASP和PHP分别举个例子。

 1.ASP:

form.htm:

<form action="asp_to.asp" method="post">

 输入昵称:<input type="text" name="nickname">

<input type="submit" value="确定">

</form>

asp_to.asp:

  您输入的昵称是:<%  response.write(request.form("nickname"))  %>

简单说明:在第一个文件中,有一个文本框,其名为nickname 和一个确定按钮,在文本框中输入信息后,点“确定”,浏览器将提交到asp_to.asp 该文件将你在文本框中的内容显示出来,response.write就是显示输出,而request就是接收变量“nickname”。

2.PHP:

form.htm:

该文件和上面的相同,只是将asp_to.asp改为php_to.php,也就是将输入的变量提交到一个名为php_to.php的PHP文件。

php_to.php:

您输入的昵称是:<?    echo $nickname;     ?>

如此而已,其中echo为显示输出,相当于ASP中的 response.write 而$表示变量,PHP的变量用$表示。

 四、PHP操作数据库

  在上一节中,我介绍了MySQL数据库和数据表的建立。下面,将从一个例子简单介绍PHP操作数据库的方式。[ 例一 ]

<?

  $id=mysql_connect('localhost','root','adminpassword');

  $db=mysql_select_db('gsbook',$id);

  $result=mysql_query('select * from gsbook',$db);

  $maxrows=mysql_num_rows($result);

  for ($i=0;$i<$maxrows;$i++)

   {

    $nickname[$i]=mysql_result($result,$i,'nickname');

    }

  for ($i=$i-1;$>=0;$i--)

  {

   echo "nickname:".$nickname[$i]."<br>";  

  }

 ?>

 简单说明:

  1.函数 int mysql_connect(string [ hostname ][:port],string [username],string [password])返回一个MySql的连接ID,其参数相信大家一看就知道。

  2.函数 int mysql_select_db(string database_name, int [ link_identifier ])用来打开数据库,第一个函数为数据库名称,第二个为MySQL的连接ID,返回值为ture或false

  3.函数 int mysql_query(string query, int [ link_identifier])返回一个结果(result)

  4.函数 int mysql_num_rows(int result)返回query的行数。

  5.函数 int mysql_result(int result,int row,mixed field)该函数返回某字段在某行的结果,第二个参数为行数,第三个参数为字段名;需要说明的是,该字段名并不是物理字段名,比如: select field1 as alias_field from table1 那么,在该函数中的第三个参数必须为 alias_field 而不是 field1。

  6.PHP中的循环语句:

   (1)do ... while

   (2)while ... [end while]

   (3)for (expr1;expr2;expr3)

   和C差不多的,在这里不再详细介绍。

  7.在上例中,用了两个for循环语句,第一个用来将数据库中的值读到一个数组中,第二个用来将数组中的值显示出来。注意第二个for循环的“$i=$i-1;”这是因为在第一个循环后变量$i的值已经自加了1;所以从数组中取值时,应该减去1。

  8.PHP中字符串的相加用“.”,相当于ASP中(VB语法)的“+”或“&”。

    9.所以,上面代码实现的功能就是从数据库中读出数据,并显示出来。

  下面,我们来向数据库中添加一条记录,先看代码[ 例二 ]:

<?

  $id=mysql_connect('localhost','root','adminpassword');

  $db=mysql_select_db('gsbook',$id);

  $sql='insert into gsbook values('.chr(39).$nickname.chr(39).')';

  if (mysql_query($sql,$db)>0)  {

    echo "OK";

   }

  else {

   echo "Failed!";

 }

 ?>

 简单说明:

 1.对于熟悉SQL语句的朋友,看了例一的简单介绍后一定知道例二的功能。