原來認為寫一個留言板應該是比較容易的事情,從沒動過手,這回試著寫了一個,感覺即容易也不容易。
容易的方面是留言板的結構很簡單,發送數據到服務器->保存到數據庫->返回新的數據到瀏覽器->刷新頁面
不容易的地方是很多細節要注意,不知道什么地方一個小問題就出錯了。
這個留言板前臺使用 Flex ,文件二百多K,初次加載比較慢,運行起來就快了。后臺使用 PHP ,用了 Codeigniter 框架,再加上大部分工作都有前臺做,整個后臺代碼不到二十行。
前后臺通信使用最簡單的 http 頁面方式,數據用 JSON 包裝,JSON 極大的簡化了工作流程,從數據庫取出數據,轉換成對象數組,把數組編碼成字符串,寫到頁面,整個過程就OK了,到了前臺再將這些字符串一解析,又還原成了對象。
看看返回的數據到底是什么樣子,點擊下面這個鏈接你可以看到 0 號頁面返回的內容,有一些百分號之類的東西,那是因為所有字符串都編碼了:
http://myqiao.oxyhost.com/ci/index.php/bbs/action_show/0
下面看看代碼是如何的簡單吧
function show($page_no)
{
//計算分頁數
$record_count=$this->db->count_all('t_message');
$page_count= Floor(($record_count-1)/PAGE_SIZE);
if($page_count<0)
$page_count=0;
//查詢當前頁面留言
$this->db->order_by("id", "desc");
$query = $this->db->get('t_message', 10, 10*$page_no);
//將前臺需要的數據裝配成數組
$arr = array(
//當前頁面號
'current_no' => "{$page_no}" ,
'page_count' =>"{$page_count}" ,
'record_count' =>"{$record_count}" ,
//下面字段保存10條留言信息,包括username , content, time
'message' => $query->result_array()
);
$json_string=$this->json->encode($arr);
echo $json_string;
}
留言板試用和查看全部源代碼:點擊這里
進入留言板,點右鍵,彈出菜單選擇 View Source 就可以看見源代碼了
服務器是國外的一個免費 php 服務器,可能速度有點慢,大家發現什么錯誤給我留言哦。