400 likes | 522 Views
Day 2 : PHP Practice (2008/11/21). 自我介紹. 本名 : 孫仲岳 (Saturn Sun) 生日 : 1980 年 11 月 4 日天蠍座 現任 : AX 工作室創辦人 http:// ax.com.tw PIXNET 程式設計師 http://pixnet.net 中文化軟體聯盟網管 http://cpatch.org 證照: Zend PHP5 Certified Engineer (ZCE). 如何取得上課投影片. 我的部落格 http://blog.saturn.tw. 作業解答.
E N D
Day 2 : PHP Practice (2008/11/21)
自我介紹 • 本名 : 孫仲岳 (Saturn Sun) • 生日 : 1980年11月4日天蠍座 • 現任 : • AX 工作室創辦人 http://ax.com.tw • PIXNET 程式設計師 http://pixnet.net • 中文化軟體聯盟網管 http://cpatch.org • 證照: • Zend PHP5 Certified Engineer (ZCE)
如何取得上課投影片 • 我的部落格 • http://blog.saturn.tw
作業解答 • NN乘法表 • PHP 網址傳值 • For 應用
再看一次 • 函式提示、應用 • PHP Bible • http://ppt.cc/o(Wl • PHP 官網 • http://www.php.net
PHP + MYSQL • 我第一個相關工作… • 為什麼要用資料庫? • 為什麼要用MYSQL?
資料庫 • 網頁(程式)與 資料庫(資料)分離 • 容易專人專責維護(DBA身價…) • 結構化、檢索容易、有效管理 • 網頁與程式分離… • MVC又是另一個故事,有機會在談
資料庫 • 查詢 SELECT • 新增 INSRT INTO • 刪除 DELETE FROM • 修改 UPDATE SET
phpMyAdmin • 權限與連線設定 • 使用phpMyAdmin 規劃資料庫 • 了解欄位(盒子)大小的概念
MYSQL中文手冊 • MYSQL中文手冊 • 中原網策會版 • http://cna.cycu.edu.tw/mysqldoc/ • 官方手冊 (英文) • http://dev.mysql.com/doc/refman/5.0/en/index.html
SQL • 資料庫標準語言 • 唸做「西擴」 • 各大資料庫 • 遵循標準 • 大同小異 • Oracle , Sybase, MS-SQL, MySQL…
資料表 天氣資料表
測試範例 • 使用phpMyAdmin • 匯入 info.sql • 操作以下的應用
查詢(選取) • SELECT * FROM 表 • SELECT 欄位1, 欄位2 FROM 表 • SELECT * FROM 表 WHERE • 欄位 = '資料' AND 欄位 = '資料' • 欄位 LIKE '%' AND 欄位 LIKE ' ____ '
新增(插入) • INSERT INTO 資料表 • ( 欄位1, 欄位2, 欄位3) • VALUES • (' 1 ', ' 2 ', ' 3 ') • 欄位全部用上,可省略欄位名稱 • 流水號欄位留空,會自動編號 • auto_increment (自動遞增)
刪除 • DELETE FROM 資料表 (清空) • DELETE FROM 資料表 • WHERE 欄位 = '資料' • (表示有限定對象) • TRUNCATE TABLE 資料表 (清空)
修改(更新) • UPDATE 資料表 SET • 欄位1 = '資料' , • 欄位2 = '資料' , • 欄位3 = '資料' • WHERE 欄位 = '資料'
資料表的建立 • CREATE TABLE 資料表名稱 • (欄位名稱 屬性, • 欄位名稱 屬性, • 欄位名稱 屬性, • 欄位名稱 屬性, • )
資料表的刪除 • DROP TABLE 資料表名稱
動動手時間 • 做一個自己的資料庫 • 1.建立資料庫名稱 (DATABASE) • 2.建立資料表名稱 (TABLE) • 3.新增測試資料 • 修改範例,來讀取你的資料內容
認識表格的 HTML 架構 <table border="1" width="100%"> <tr> <td width="50%"></td> <td width="50%"></td> </tr> <tr> <td width="50%"></td> <td width="50%"></td> </tr> </table>
測試範例 • select.php • 用於查詢資料使用 • other.php • 新增、修改、刪除等…
小結 • 恭喜您,升格成為 PHP + MySQL 的程式設計師囉
中場休息 - 練習題 • 我的個人介紹 • 前端使用PHP • 後端資料來自資料庫 • 兩者分離不可寫死
下午課程 • 第一篇、認識 PHP • 第二篇、PHP 入門 • 第三篇、PHP+MYSQL • 第四篇、PHP 牛刀小試 • 第五篇、歡樂週末~放假囉!
牛刀小試時間 • 樂透彩開獎機 • 先將之前設計的畫面準備好, • 我們要開始寫程式囉!
PHP+MYSQL 核心 • 查詢資料(選出你要的) • $conn=mysql_connect( $host, $user, $pass ); • $sql = "SQL語法放這裡"; • $result=mysql_db_query( $database, $sql ,$conn); • $row=mysql_fetch_row($result); • mysql_close($conn);
了解查出的資料 mysql_fetch_row (move_next) 1 ) 2 3
PHP+MYSQL 核心 • 新增、刪除、修改 • $conn=mysql_connect( $host, $user, $pass); • $sql = "SQL語法放這裡"; • mysql_select_db($database,$conn); • $result = mysql_query($sql); • mysql_close($conn);
觀摩 • 樂透研究院 • http://lotto.arclink.com.tw/
設計 • 切割問題(系統分析) • 需要「隨機」選出六個「不重複」號碼 • 有相符的號碼,需計算中了什麼獎 • 運作原理 • 使用隨機函式取得號碼 • 比對符合結果
流程引導 • 撰寫網頁 • 自動開獎 • 系統隨機選六個號碼,就顯示一組中獎號碼 • 呈現於網頁上 • 手動選號 • 設計輸入頁面,讓使用者選號 • 輸入之後檢查與開出的號碼是否有符合的
流程引導 – 資料庫規畫 • 欄位規畫 • 期別 (第N期) • 獎號 1 • 獎號 2 • 獎號 3 • 獎號 4 • 獎號 5 • 獎號 6
流程引導 – 程式設計 • 如何取出不重複的六個號碼 • 直接程式處理 • in_array() 函式 – 使用陣列 • 使用資料庫 • SELECT / INSERT 重複性判斷
流程引導 – 表單設計 • 使用者表單 • 表單欄位命名 • 傳送方式 • POST / GET
流程引導 – 開獎程式 • 派彩資料 • 將每一期的六個獎號資料寫入資料庫 • 中獎核對 • 從資料庫選出獎號 • 逐一與使用者送來的號碼比對!
資料庫備份 • 使用 phpMyAdmin • 資料匯出功能 • MySQL 323 格式 • Excel / CSV 格式
課後練習 • 將樂透號碼換成彩球圖片~ • 提示: str_replace() 字串取代函式
See You • 第一篇、認識 PHP • 第二篇、PHP 入門 • 第三篇、PHP+MYSQL • 第四篇、PHP 牛刀小試 • 第五篇、歡樂週末~放假囉!
謝謝各位 • 有任何疑問,聯絡請洽: • http://blog.saturn.tw • 寫信給我: • saturn@ax.com.tw • msn@saturn.tw • 電話聯絡: • 0928-389698