php mysql简单通讯录_利用PHP实现带数据库的简单通讯录实例教程

[设计思路]

实现:添加、查看、修改、删除,这几个基本功能,为从简单入手,我们就只做这些吧。

[程序规划]

呵呵,不要紧张,我们这里不会搞什么软件工程,做什么需求分析啊,画什么流程图啊之类令人吐血的事情了,呆会我被扁的。当然正规的开发这些是必须的哦,因此有空一定要去了解一下。

input.php ---------- 用来添加联系人信息的表单 (当然这个可以用html咯,但为了避免混淆,就全部统一为PHP格式吧)

post.php ---------- 用来处理表单数据

conn.php ---------- 用来连接数据库

show.php ---------- 用来显示数据

edit.php ---------- 用来修改数据

edited.php ---------- 用来处理修改数据

del.php ---------- 用来删除数据

[数据规划]

也就是数据库设计了,为了好看点就写成四个字了。不要介意。我们这里也不搞什么扯蛋的建模了,也会吐血的,呵呵。好,我们开始,痛苦了一点,没落伍不能截图,我用字符画了一个其丑无比的表格,没办法,就这水平了,大家将就着看下吧,呵呵,哭吧。

____________________________________________________________________________

| 字段 | 类型 | 整理 | 属性 | NULL | 额外 |

| id | int(10) | | UNSIGNED | 否 | auto_increment |

| name | varchar(10) | utf8_general_ci |    | 否 | |

| sex | tinyint(1) | |    | 否 | |

| mobi | varchar(11) | utf8_general_ci |    | 否 | |

| email | varchar(50) | utf8_general_ci |    | 否 | |

| addr | varchar(50) | utf8_general_ci |    | 否 | |

|__________|____________|______________|___________|__________|______________|

关于数据库,我大概的讲一下哦:

id 大家再熟悉不过了吧?一组数据的唯一的标识。比如说你在落伍的ID咯,点你的ID就出现一堆关于你的信息,这就是唯一的标识。

int(10)就是数据类型了,代表10位的整数,UNSIGNED是非负的意思,auto_increment 是自动添加。由于id设置为自动添加,因此我    们建好它后就不用再管了,让它自生自灭吧,呵呵。

name 这个字段用来储存名字,注意字段名可以随便命名的,比如现在“name”,但为了方便后面的讲解,大家暂时委屈一下跟我命名吧。      建议命名规则为小写字母哦,中间加下划线也可以。varchar(10)储存中国人,10个字应该够了吧?呵呵,不管了,就这样吧。varcha     r和char,前者省空间,后者省时间……扯远了,这些数据类型,还是大家自己google了解一下吧。utf8_general_ci,字符集,这个很     重要哦,你一定要清楚自己的数据库用的什么字符集,不然会出现一堆乱码哦。说到字符集,我大力推荐大家使用utf8了。

sex 用来储存性别,为什么类型是tinyint(1),1位小整数够用吗?当然够用了,模仿下二进制,用0表示女,用1表示男就OK了,刚才忘记说    了一点,可能有人还不明白,NULL,否,就是不为空的意思。

mobi 我取得名字也都很直观了,下面就快速带过吧,mobi用来储存手机号码,当然是11位咯。

email 用来储存电子邮件,50位应该绰绰有余了。

addr 用来储存通讯地址,宇宙、地球、国家、省、市、乡、镇、村都写进去,50位也应该够了吧,呵呵。

那么我们现在就来创建数据库咯,建议大家使用phpMyadmin用SQL方式导入下列语句,因为这样是最方便的了:

[code][php]  CREATE TABLE `addr_list` (

`id` int(10) unsigned NOT NULL auto_increment,

`name` varchar(10) NOT NULL,

`sex` tinyint(1) NOT NULL,

`mobi` varchar(11) NOT NULL,

`email` varchar(50) NOT NULL,

`addr` varchar(50) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

[/php][/code]

当然你用MySQL Command Line Client手工输入也可以哦,如果你不嫌累的话,呵呵,不过要注意一点,就是把所有的 `` 符号去掉。也就是TAB键上面那颗诡异的按键。不然可能会出现意外哦。

好了,那就等大家先把数据库搞定了再说吧,打了半天字,手好酸,肚子也好饿,呵呵。先去吃饭,一会再继续了,还有4分就落伍了,希望尽快吧,那样就可以截图了,不过用字符画表格还是蛮有意思的,呵呵。

恩,下面我们就将一个一个的做网页,一个一个的写程序了:

革命尚未胜利~我们接着来。需要对上面进行点补充:要先创建一个数据库才能导入哦!

为了区分和方便讲解,我把数据库命名为list,把数据表命名为addr_list,还是把完整的SQL语句写出来吧。

首先创建数据库 list:

[code][php]

CREATE DATABASE `list` ;

[/php][/code]

然后创建数据表 addr_list:

[code][php]

CREATE TABLE `addr_list` (

`id` int(10) unsigned NOT NULL auto_increment,

`name` varchar(10) NOT NULL,

`sex` tinyint(1) NOT NULL,

`mobi` varchar(11) NOT NULL,

`email` varchar(50) NOT NULL,

`addr` varchar(50) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

[/php][/code]

好,我们现在来做网页+写程序吧:

input.php 文件代码:

[code][php]

姓名:

性别:女士

先生

手机:

邮箱:

地址:

[/php][/code]

说明:因为只有HTML代码,所以你要存成html格式的话也是可以的。不要被那些乱七八糟的

post.php 文件代码:(不完整)

[code][php]

//设置表单变量

$name = $_POST['name'];

$sex = $_POST['sex'];

$mobi = $_POST['mobi'];

$email = $_POST['email'];

$addr = $_POST['addr'];

//测试是否传值

echo $name . '
';

echo $sex . '
';

echo $mobi . '
';

echo $email . '
';

echo $addr . '
';

?>

[/php][/code]

说明:这是一个不完整的post.php代码,我们先写一些简单的脚本来测试input.php的值是否成功的传到post.php页。“设置表单变量”不是必须的,但也是很有必要的,以免发生意外状况,呵呵。你现在所看到的变量,如$name,就是前面input.php里的name了。比如说: (input.php页),里面的name="mobi", 就是这里的$mobi (post.php页 )这个应该没什么问题吧?那么就运行input.php页,随便填写些信息,然后按“添加”,如果按了“添加”之后,转到了post.php页,并且正确的显示了你所填写的内容,那么就表示传值就成功了,我们就可以接着网下做了。小提示:echo为打印输出,类似$name以$开头的都是变量,
换行。echo是一个语言结构,并非函数,这点要记得哦。

OK,传值成功了,那么我们要做的就把值写进数据库吧。在改进post.php之前,我们的先写一个conn.php文件,并且调用它进行数据库的一些操作。那么我们来看看这段简陋的代码吧:

conn.php 文件代码:

[code][php]

//设置数据库变量

$db_host = 'localhost'; //数据库主机名称,一般都为localhost

$db_user = 'root'; //数据库用户帐号,根据个人情况而定

$db_passw = '123456'; //数据库用户密码,根据个人情况而定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值