引用上篇文章的開場白:
我接觸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 ; 好,我們現在來做網頁+寫程序吧: