当前位置:Gxlcms > PHP基础 > 30分钟学会用PHP写带数据库的简单通讯录第1/3页

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

时间:2021-07-01 10:21:17 帮助过:49人阅读

引用上篇文章的开场白:

  我接触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方式导入下列语句,因为这样是最方便的了:
代码如下:
  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 ;

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

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

  恩,下面我们就将一个一个的做网页,一个一个的写程序了:
革命尚未胜利~我们接着来。需要对上面进行点补充:要先创建一个数据库才能导入哦!
  为了区分和方便讲解,我把数据库命名为list,把数据表命名为addr_list,还是把完整的SQL语句写出来吧。
  首先创建数据库 list:
   代码如下:CREATE DATABASE `list` ; 
  然后创建数据表 addr_list:
   代码如下: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 ;   好,我们现在来做网页+写程序吧:
123下一页阅读全文

人气教程排行