30分钟学会用PHP写带数据库的简单通讯录讲解.docx

上传人:b****1 文档编号:10994702 上传时间:2023-05-28 格式:DOCX 页数:21 大小:25.47KB
下载 相关 举报
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第1页
第1页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第2页
第2页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第3页
第3页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第4页
第4页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第5页
第5页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第6页
第6页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第7页
第7页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第8页
第8页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第9页
第9页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第10页
第10页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第11页
第11页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第12页
第12页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第13页
第13页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第14页
第14页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第15页
第15页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第16页
第16页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第17页
第17页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第18页
第18页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第19页
第19页 / 共21页
30分钟学会用PHP写带数据库的简单通讯录讲解.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

30分钟学会用PHP写带数据库的简单通讯录讲解.docx

《30分钟学会用PHP写带数据库的简单通讯录讲解.docx》由会员分享,可在线阅读,更多相关《30分钟学会用PHP写带数据库的简单通讯录讲解.docx(21页珍藏版)》请在冰点文库上搜索。

30分钟学会用PHP写带数据库的简单通讯录讲解.docx

30分钟学会用PHP写带数据库的简单通讯录讲解

30分钟学会PHP写带数据库的简单通讯录

我接触PHP也不是很久,所以有什么不足的地方,欢迎各位指正,让大家见笑了。

  这篇小教程的对象是PHP初学者,都是些最简单、最基本的东西,因此高手们可以略过哦。

  为了让各位初学者提起兴趣、尽快入门,这里写的是将是最简单,最基本的PHP程序,相信你只要有一点点的PHP基础知识,10分钟之内就能把它学会。

没有PHP基础知识也没有关系,只要耐心的看,学会它也不会超过一个小时的。

  我写这篇文章的目的是,和大家一起共同学习、共同进步,然后将PHP初学者们对PHP的恐惧心理驱赶到十万八千里之外,让大家增强自学PHP的信心,其实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方式导入下列语句,因为这样是最方便的了:

 

[Copytoclipboard]

CODE:

  CREATETABLE`addr_list`(

  `id`int(10)unsignedNOTNULLauto_increment,

  `name`varchar(10)NOTNULL,

  `sex`tinyint

(1)NOTNULL,

  `mobi`varchar(11)NOTNULL,

  `email`varchar(50)NOTNULL,

  `addr`varchar(50)NOTNULL,

  PRIMARYKEY(`id`)

  )ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=1;

  当然你用MySQLCommandLineClient手工输入也可以哦,如果你不嫌累的话,呵呵,不过要注意一点,就是把所有的``符号去掉。

也就是TAB键上面那颗诡异的按键。

不然可能会出现意外哦。

  好了,那就等大家先把数据库搞定了再说吧,打了半天字,手好酸,肚子也好饿,呵呵。

先去吃饭,一会再继续了,还有4分就落伍了,希望尽快吧,那样就可以截图了,不过用字符画表格还是蛮有意思的,呵呵。

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

 

命尚未胜利~我们接着来。

需要对上面进行点补充:

要先创建一个数据库才能导入哦!

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

  首先创建数据库list:

 

[Copytoclipboard]

CODE:

  CREATEDATABASE`list`;

  然后创建数据表addr_list:

 

[Copytoclipboard]

CODE:

  CREATETABLE`addr_list`(

  `id`int(10)unsignedNOTNULLauto_increment,

  `name`varchar(10)NOTNULL,

  `sex`tinyint

(1)NOTNULL,

  `mobi`varchar(11)NOTNULL,

  `email`varchar(50)NOTNULL,

  `addr`varchar(50)NOTNULL,

  PRIMARYKEY(`id`)

  )ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=1;

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

 

input.php文件代码:

 

[Copytoclipboard]

CODE:

姓名:

性别:

女士 

先生

手机:

邮箱:

地址:

说明:

因为只有HTML代码,所以你要存成html格式的话也是可以的。

不要被那些乱七八糟的迷惑哦,我们要看的关键字是form还有input。

form主要看method和action,method是方法,有post和get等,关于这个你可以自己去了解一下;action是动作,也就是传送值得的目标页。

通俗一点就是点按钮会跑到的页面。

那么,input要注意的是name和id,要定义一些好记的名字。

为了方便记忆,我把表单名和数据库的字段名定义成一样的了,这并不是必须的,但还是很有必要的。

最后注意的是sex,别想歪了,我说的是性别了。

一定要注意它的name是一样的,但是value不同哦。

我们前面已经说过,用0表示女,用1表示男。

这个表单建议用些工具去做,比如DW等,几秒种就可以搞定了。

用手写的话,需要有一定的html语言基础。

如果使用utf8,一定要记得用工具把所有网页都另存为utf8的哦。

 

004063c9247f

post.php文件代码:

(不完整)

 

[Copytoclipboard]

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.'
';

?

>

说明:

这是一个不完整的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文件代码:

 

[Copytoclipboard]10.2.254.692011-2-1212:

33:

10

1客户端发送的所有HTTP标头,他的结果都有前缀HTTP_。

=====>>HTTP_CONNECTION:

Keep-AliveHTTP_ACCEPT:

image/jpeg,application/x-ms-application,image/gif,application/xaml+xml,image/pjpeg,application/x-ms-xbap,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/*HTTP_ACCEPT_ENCODING:

gzip,deflateHTTP_ACCEPT_LANGUAGE:

zh-CNHTTP_COOKIE:

ASPSESSIONIDQCQQBCTS=LEBNDNFDEPEBCFEOHPGLMPEH;DomAuthSessId=64DD099DA53E1138FAA223676F0B0321HTTP_HOST:

10.2.254.10:

801HTTP_REFERER:

http:

//10.2.254.10/homepage.htmHTTP_USER_AGENT:

Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.1;Trident/4.0;SLCC2;.NETCLR2.0.50727;.NETCLR3.5.30729;.NETCLR3.0.30729;MediaCenterPC6.0;TabletPC2.0)

2应用程序的元数据库路径。

=====>>/LM/W3SVC/8449/Root

3与应用程序元数据库路径相应的物理路径。

=====>>D:

\sa\

4代验证的用户名。

=====>>

5客户端发出内容的长度。

0

6客户发送的form内容或HTTPPUT的数据类型。

7服务器使用的网关界面。

CGI/1.1

8客户端提供的路径信息。

/1.asp

9通过由虚拟至物理的映射后得到的路径。

D:

\sa\1.asp

10发出请求的远程主机名称。

10.2.254.69

11服务器的主机名、DNS地址或IP地址。

10.2.254.10

12提供URL的基本部分/1.asp

CODE:

php

//设置数据库变量

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

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

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

$db_name='list';//数据库具体名称,以刚才创建的数据库为准

//连接数据库

$conn=mysql_connect($db_host,$db_user,$db_passw)ordie('数据库连接失败!

');

//设置字符集,如utf8和gbk等,根据数据库的字符集而定

mysql_query("setnames'utf8'");

//选定数据库

mysql_select_db($db_name,$conn)ordie('数据库选定失败!

');

//执行SQL语句(查询)

$result=mysql_query($sql)ordie('数据库查询失败!

');

?

>

说明:

这段代码本身并没有什么作用,因为它要经常用到,所以只是为了减少工作量不必重复写它,所以把它专门放在一个文件里,这样就可以随时调用了。

这里并不需要多讲解什么,你只需要根据个人情况改一下“设置数据库变量”和“设置字符集”的部分就可以了。

不要尝试单独的运行conn.php这个脚本,肯定会出错的,因为我们还没开始设置$sql呢

 

  OK,数据库的基本操作搞定了。

我们来开始写完整版的post.php吧,呵呵。

post.php文件代码:

(完整版)

 

[Copytoclipboard]

CODE:

php

//设置表单变量

$name=$_POST['name'];

$sex=$_POST['sex'];

$mobi=$_POST['mobi'];

$email=$_POST['email'];

$addr=$_POST['addr'];

//需要执行的SQL语句(这里是插入数据功能)

$sql="INSERTINTO`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'恭喜,操作成功!

';

}

?

>

[查看通讯录] [继续添加]

说明:

终于见到post.php的完整版了,够简陋了吧?

呵呵。

这里需要注意的是$sql中的SQL语句,如果不会SQL语句的话,可以用phpMyadmin去扣,具体怎么扣,就请各位自己google一下咯,有时间的话再另写了。

建议还是学学SQL语法比较好一些。

接着看$sql,id对应NULL,前面说过,id建立以后就不用管了,所以可以留空值,接下,数据库的name字段对应$name变量,以此类推就可以咯。

写出你需要执行的语句,然后调用conn.php执行就可以了。

就这么简单。

为了使界面人性化一点,我们应该加些操作提示和相关链接。

这样我们的post.php就算完成了,呵呵,超简陋。

不过用来学习,应该追求简陋比较好,呵呵。

 

  OK,现在我们就来做show.php,显示页吧。

已经完成奖将近一半的工作咯,再坚持下就大功告成了。

show.php文件代码:

 

[Copytoclipboard]

CODE:

[继续添加]

php

//这里是PHP代码

$sql="SELECT*FROM`addr_list`";//需要执行的SQL语句(这里是浏览数据功能)

require('conn.php');//调用conn.php文件,执行数据库操作

?

>

---这里HTML代码,创建一个表格--->

姓名

性别

手机

邮箱

地址

 

php

//这里是PHP代码

while($row=mysql_fetch_row($result))//循环开始

{

//判断性别

if($row[2]==0)

{

$sex='女士';

}

else

{

$sex='先生';

}

?

>

---被循环的HTML表格中带有PHP代码--->

phpecho$row[1];?

>

phpecho$sex;?

>

phpecho$row[3];?

>

phpecho$row[4];?

>

phpecho$row[5];?

>

 

php

}

?

>

说明:

这段代码就极度扯蛋了,因为这里我们不可能讲到诸如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,那么就先到这里吧。

还剩下两部分:

修改和删除,我们下次搞定它们。

看起来快,写起来就不是那么容易了,我手都快脱臼了,呵呵。

 

我刚才仔细看了下上面的代码,发现了一个错误,我把性别判断写到循环之外去了。

在这里跟大家道歉了,现在已经及时更正。

呵呵,低级错误。

但发现错误是好事哦,可以总结经验教训……好了好了,不找借口了,低头认错,呵呵。

  OK,我们开始写编辑和删除功能吧。

我们先来改一下show.php页面,让它有个操作区,并且添加[编辑]和[删除]的连接。

让用户去操作,具体代码我帖出来先,我已经把格式尽量弄得方便看了,如何各位还看不明白的话,可以对比上面的show.php看哦。

 

input.php文件代码:

(更新版)

 

[Copytoclipboard]

CODE:

[继续添加]

php

//这里是PHP代码

$sql="SELECT*FROM`addr_list`";//需要执行的SQL语句(这里是浏览数据功能)

require('conn.php');//调用conn.php文件,执行数据库操作

?

>

---这里HTML代码,创建一个表格--->

姓名

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2