以下代码是我获取数据库的列表,我想问下如何写成smarty的模式啊?
while ($row=mysql_fetch_array($query)){
echo $row[0];
echo $row[1];
echo $row[2];
echo $row[3];
echo "<br>";
}
具体怎么赋给一个数组啊?读出来的文章都是不同的,难道需要遍历么?求您帮忙写下!!
追答";
}
改为
$data = array();
while ($row=mysql_fetch_array($query)){
$data[] = $row;
}
在控制器里这么传值给smarty模板
$this->smarty->assign('data', $data);
在模板里这么写
哇!高手啊。。。佩服,佩服。。非常感谢您啊,看来我今天运气不错哈哈!!
不过我运行的时候,读出的数据全是问号“?”是怎么回事?但是单独调用没有这回事 呵呵!
这是模板输出的结果:
6 ? ? ? ? ? ? ? ? 7 ? ? ? ? ? ? ? ? 9 ? ? ? ? ? ? ? ? ? ? ? ?
再就是我把您的$this->smarty->assign('data', $data);改成$smarty->assign('data', $data);才能正常运行,否则就是500错误。
嗯,因为我用的是框架 自己集成Smarty 所以才这样用$this->smarty->assign('data', $data);
至于上面乱码的情况,因为数字显示正常,那就是字符集的问题。连接数据库的字符集是什么?假如是utf8 那么 在模板面 顶部加上
一般取数据出现乱码一般是这三个地方字符集没有对应
1.连接数据库时的字符集。
2.HTML模板面的字符集。
3.PHP文件字符集格式。
恩恩,非常感谢。。。
首先说下,数据库字符集是gbk的,单独在同一个页面显示没有问题
html字符集我复制出来了,
PHP文件字符集格式我有这句应该没有问题吧?
mysql_query("set names 'gbk'")
您的qq多少,我详细让您看下,今晚上我多回答点问题,用来给你加分。。哈哈。。。
497186952, 加分无所谓,解决问题最重要