posts - 48,comments - 156,trackbacks - 0

原来认为写一个留言板应该是比较容易的事情,从没动过手,这回试着写了一个,感觉即容易也不容易。

容易的方面是留言板的结构很简单,发送数据到服务器->保存到数据库->返回新的数据到浏览器->刷新页面

不容易的地方是很多细节要注意,不知道什么地方一个小问题就出错了。

这个留言板前台使用 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 服务器,可能速度有点慢,大家发现什么错误给我留言哦。



posted on 2009-04-12 14:53 左洸 阅读(1629) 评论(1)  编辑  收藏

FeedBack:
# re: 基于 Json 的富客户端简易分页留言板设计,附源码
2009-04-12 23:18 | CoderDream
不错,感谢分享!JSON是个好东西!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: