30分钟学会用PHP写带数据库的简单通讯录第2/3页

 更新时间:2006年12月23日 00:00:00   投稿:mdxy-dxy  
这篇文章主要给大家介绍了关于30分钟学会用PHP写带数据库的简单通讯录,需要的朋友可以参考下

input.php 文件代码:
复制代码 代码如下:
<form id="form1" name="form1" method="post" action="post.php"> 
  <p>姓名:<input name="name" type="text" id="name" /></p> 
  <p> 
  性别:<input type="radio" name="sex" value="0" />女士  
           <input type="radio" name="sex" value="1" />先生 
  </p> 
  <p>手机:<input name="mobi"  type="text" id="mobi"  /></p> 
  <p>邮箱:<input name="email" type="text" id="email"  /></p> 
  <p>地址:<input name="addr"  type="text" id="addr"  /></p> 
  <p> 
        <input type="submit" name="Submit" value="添加" /> 
        <input type="reset" name="Submit2" value="重写" /> 
  </p> 
</form> 
说明:因为只有HTML代码,所以你要存成html格式的话也是可以的。不要被那些乱七八糟的<p></p>迷惑哦,我们要看的关键字是form还 有input。form主要看method和action,method是方法,有post和get等,关于这个你可以自己去了解一下;action是动作,也就是传送值得的目标页。通俗一点就是点按钮会跑到的页面。那么,input要注意的是name和id,要定义一些好记的名字。为了方便记忆,我把表单名和数据库的字段名定义成一样的了,这并不是必须的,但还是很有必要的。最后注意的是sex,别想歪了,我说的是性别了。一定要注意它的name是一样的,但是value不同哦。我们前面已经说过,用0表示女,用1表示男。这个表单建议用些工具去做,比如DW等,几秒种就可以搞定了。用手写的话,需要有一定的html语言基础。如果使用utf8,一定要记得用工具把所有网页都另存为utf8的哦。
post.php 文件代码:(不完整) 
复制代码 代码如下:
<?php 
//设置表单变量 
$name  = $_POST[’name’]; 
$sex     = $_POST[’sex’]; 
$mobi   = $_POST[’mobi’]; 
$email   = $_POST[’email’]; 
$addr    = $_POST[’addr’]; 
//测试是否传值 
echo $name  . ’<br>’; 
echo $sex     . ’<br>’; 
echo $mobi   . ’<br>’; 
echo $email   . ’<br>’; 
echo $addr    . ’<br>’; 
?>

说明:这是一个不完整的post.php代码,我们先写一些简单的脚本来测试input.php的值是否成功的传到post.php页。“设置表单变量”不是必须的,但也是很有必要的,以免发生意外状况,呵呵。你现在所看到的变量,如$name,就是前面input.php里的name了。比如说:<input name="mobi"  type="text" id="mobi"  />  (input.php页),里面的name="mobi",  就是这里的$mobi  (post.php页 )这个应该没什么问题吧?那么就运行input.php页,随便填写些信息,然后按“添加”,如果按了“添加”之后,转到了post.php页,并且正确的显示了你所填写的内容,那么就表示传值就成功了,我们就可以接着网下做了。小提示:echo为打印输出,类似$name以$开头的都是变量,<br>换行。echo是一个语言结构,并非函数,这点要记得哦。
  OK,传值成功了,那么我们要做的就把值写进数据库吧。在改进post.php之前,我们的先写一个conn.php文件,并且调用它进行数据库的一些操作。那么我们来看看这段简陋的代码吧:
conn.php 文件代码:
复制代码 代码如下:
<?php 
//设置数据库变量 
$db_host   = ’localhost’;  //数据库主机名称,一般都为localhost 
$db_user   = ’root’;        //数据库用户帐号,根据个人情况而定 
$db_passw = ’123456’;   //数据库用户密码,根据个人情况而定 
$db_name  = ’list’;         //数据库具体名称,以刚才创建的数据库为准 
//连接数据库 
$conn = mysql_connect($db_host,$db_user,$db_passw) or die (’数据库连接失败!’); 
//设置字符集,如utf8和gbk等,根据数据库的字符集而定 
mysql_query("set names ’utf8’"); 
//选定数据库 
mysql_select_db($db_name,$conn) or die(’数据库选定失败!’); 
//执行SQL语句(查询) 
$result = mysql_query($sql) or die(’数据库查询失败!’); 
?> 
说明:这段代码本身并没有什么作用,因为它要经常用到,所以只是为了减少工作量不必重复写它,所以把它专门放在一个文件里,这样就可以随时调用了。这里并不需要多讲解什么,你只需要根据个人情况改一下“设置数据库变量”和“设置字符集”的部分就可以了。不要尝试单独的运行conn.php这个脚本,肯定会出错的,因为我们还没开始设置$sql呢 
  OK,数据库的基本操作搞定了。我们来开始写完整版的post.php吧,呵呵。
post.php 文件代码:(完整版)
复制代码 代码如下:
<?php 
//设置表单变量 
$name  = $_POST[’name’]; 
$sex     = $_POST[’sex’]; 
$mobi   = $_POST[’mobi’]; 
$email   = $_POST[’email’]; 
$addr    = $_POST[’addr’]; 
//需要执行的SQL语句(这里是插入数据功能) 
$sql = "INSERT INTO `addr_list` 
                ( `id` , `name` , `sex` , `mobi` , `email` , `addr` )  
                VALUES 
                (NULL , ’$name’, ’$sex’, ’$mobi’, ’$email’, ’$addr’)"; 
//调用conn.php文件进行数据库操作 
require(’conn.php’); 
//提示操作成功信息,注意:$result存在于conn.php文件中,被调用出来 
if($result) 

        echo ’恭喜,操作成功!<p>’; 

?> 
[<a href="show.php">查看通讯录</a>] [<a href="input.php">继续添加</a>] 
说明:终于见到post.php的完整版了,够简陋了吧?呵呵。这里需要注意的是$sql中的SQL语句,如果不会SQL语句的话,可以用phpMyadmin去扣,具体怎么扣,就请各位自己google一下咯,有时间的话再另写了。建议还是学学SQL语法比较好一些。接着看$sql,id对应NULL,前面说过,id建立以后就不用管了,所以可以留空值,接下,数据库的name字段对应$name变量,以此类推就可以咯。写出你需要执行的语句,然后调用conn.php执行就可以了。就这么简单。为了使界面人性化一点,我们应该加些操作提示和相关链接。这样我们的post.php就算完成了,呵呵,超简陋。不过用来学习,应该追求简陋比较好,呵呵。
  OK,现在我们就来做show.php,显示页吧。已经完成奖将近一半的工作咯,再坚持下就大功告成了。
show.php 文件代码: 
复制代码 代码如下:
[<a href="input.php">继续添加</a>] 
<?php 
//这里是PHP代码 
$sql = "SELECT * FROM `addr_list`";//需要执行的SQL语句(这里是浏览数据功能) 
require(’conn.php’);               //调用conn.php文件,执行数据库操作 
?> 
        <!---这里HTML代码,创建一个表格---> 
        <table width="100%" border="1"> 
         <tr> 
             <th bgcolor="#CCCCCC" scope="col">姓名</th> 
             <th bgcolor="#CCCCCC" scope="col">性别</th> 
             <th bgcolor="#CCCCCC" scope="col">手机</th> 
             <th bgcolor="#CCCCCC" scope="col">邮箱</th> 
           <th bgcolor="#CCCCCC" scope="col">地址</th> 
         </tr> 
<?php 
//这里是PHP代码 
while($row = mysql_fetch_row($result)) //循环开始 

                //判断性别 
        if($row[2]==0) 
        { 
                $sex = ’女士’; 
        } 
        else 
        { 
                $sex = ’先生’; 
        } 
?> 
        <!---被循环的HTML表格中带有PHP代码---> 
            <tr> 
              <td><?php echo $row[1]; ?></td> 
              <td><?php echo $sex;      ?></td> 
              <td><?php echo $row[3]; ?></td> 
              <td><?php echo $row[4]; ?></td> 
                <td><?php echo $row[5]; ?></td> 
            </tr> 
<?php 

?> 
</table>

说明:这段代码就极度扯蛋了,因为这里我们不可能讲到诸如Smarty和PHPlib之类的模板引擎,所以只能是PHP夹着HTML丢在同一个文件里面了,但是真正开发的时候可千万不能这么干啊,不然我就成千古罪人了。形势所迫,形势所迫,大家将就一下吧。也不是很难看懂,抓住一个原则 <?php 这里里面的就是PHP代码 ?>,反之,外面的就是HTML代码咯。着重讲一下while($row = mysql_fetch_row($result)) 吧,在这里mysql_fetch_row($result)将我们执行SQL语句获得结果集保存为数组。当然你不需要急着去了解什么叫做数组,你只需要知道,它帮我们的字段排好队了,记得从0开始排的哦:0->id;  1->name;  2->sex;  3->mobi;   4->email;   5->addr   这样一目了然了,我们需要调用的时候就用$row[X]来调用,X就是队列号,比如调用name,就是$row[1],因为我们不要求显示id,所以上面的代码中没有$row[0],那为什么多了$sex呢?因为我们不能用数字来显示性别吧,所以加了个条件句:如果$row[2]等于0,那么就显示"女士",否则就显示"先生"。当然你可以随便改这个性别的称呼了,比如0显示夏娃,1显示亚当,呵呵。
  OK,那么就先到这里吧。还剩下两部分:修改和删除,我们下次搞定它们。看起来快,写起来就不是那么容易了,我手都快脱臼了,呵呵。

相关文章

最新评论