一个关于SLQ语句的问题,高人请进

一个关于SLQ语句的问题,高人请进

while($r=mysql_fetch_array($b)){

$smarty->assign("id",$r['id']);
$smarty->assign("diarytitle",$r['title']);

$smarty->display("alldiary.htm");


}

我想把$r['title']里面的内容已属组的形式储存起来然后传给smarty,可是以上的代码只能传给$r['title']里面第一个值
如何才能生成一个数组里面包含$r['title']所有的值

$arr = array();
while($r=mysql_fetch_array($b)){
$arr[] = $r;
}

$smarty->assign("arr",$arr);
$smarty->display("alldiary.htm");
毕业了。。。