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