先执行查询SELECT * FROM `message` ORDER BY `id` DESC
意思即查找message表中所有数据的所有字段,并按id字段倒序排列。
然后判断mysql_errno()是否为0,不为0则证明有错误,则用print_mysql_error()函数输出错误信息,并结束整个代码。
如果没有错误,则用while循环取得信息(一条留言循环一次)。在循环中,先定义一个空数组 $message_array = array();,然后每循环一次,往这个数组中插入另一个数组,组成一个二维数组。存的都是留言信息。
循环完后$smarty->assign('message' , $message_array); 即把$message_array变量赋予smarty中的message,用来做模板里的替换(即把模板里的$message部分替换为$message_array变量的值)。
最后return $smarty->fetch('message.tpl'); 即取得message.tpl模板的信息,替换模板变量后并返回。
打开template/bxna/message.tpl 文件可以发现
这样一段代码,它的意思即循环输出,$message不是一个数组么,即循环输出这个数组。
其中[##$message[k].username##]这个意思是指这里要替换的内容是 $message变量中的username,即用户名。其它几个变量也一个道理。
循环的具体用法请参考smarty手册。
最后fetch(即取回嘛)整个HTML(已经把所有模板变量替换完成),返回给index.php里的$main_body。

发表评论