最近因為放了暑假,有點閒閒的感覺。
不過因為有大考將近的壓力,所以也不至於閒到整天打混摸魚。
恩……廢話說得有點多了,這篇文章,主要是介紹 FLASH+PHP+MySQL 的原理,中間則透過XML讓FLASH能夠顯示出資料。
前置作業:
- 建立資料庫,名稱 fgb 校對請設定為utf8_general_ci
- 建立資料表,名稱 myguestbook ,欄位 4 個
- 欄位名稱:name,comment,time,id。型態為TEXT
connectdb.php
connectdb.php 這個檔案是與資料庫做連接的設定。而$con是必要的設定。
$con=mysql_connect(‘資料庫主機位置‘,’帳號‘,’密碼‘);
datatosql.php
FLASH如果要儲存資料,一定要透過PHP或者是ASP等語言,做為傳遞者,沒有辦法自己進行寫入的動作。
FLASH使用 sendAndLoad 將資料送給PHP,
data_lv.sendAndLoad("datatosql.php?n="+random(9999),data_lv,"post");
之後PHP再用
$str_sql="INSERT INTO myguestbook (name,comment,time,id) VALUES ('$name','$comment','$Today','$id');";
把留言內容傳送到MySQL儲存起來。
而,
INSERT INTO myguestbook (name,comment,time,id) VALUES ('$name','$comment','$Today','$id');
這句其實就是SQL語法中的寫入語法。
另外,
$Today = date("Y-m-d H:i:s",(time()+8*3600)); date_default_timezone_set('Etc/GMT-8'); //8小時的時差(以格林威治為起點)
這是為了調整時差而寫成的,不過我建議各位把這句替換成
$Today = date("Ymd,l,H:i"); //原來的語法
然後在 require “connectdb.php”; 下方加入
這樣的寫法比較不會產生伺服器間的時差問題。
datatoxml.php
再來,為了要讓FLASH能夠顯示出存在資料庫裡的留言內容,必須將資料庫裡的語句轉換為XML的格式。
利用
'SELECT * FROM myguestbook order by id desc';
來讀取MySQL內的留言內容,然後再轉換成為虛擬的XML格式,然後FLASH 再利用 Action Script 將XML的內容讀進來。
完成之後的截圖。
終於搞懂一些些了……
【請接續下一篇文章】
【參考資料】http://www.blueidea.com/tech/multimedia/2008/5898_3.asp