使用php,如何高效的将数据构成一个html表格?
ringa_lee
ringa_lee 2017-04-10 15:44:48
[PHP讨论组]

有一个数据表,有如下几列

shop_id 门店编号
saledate 销售日期
trans_amt 销售金额

数据举例如下:

1 2015-06-01 3000
2 2015-06-01 5000
3 2015-06-01 6000
1 2015-06-02 3500
2 2015-06-02 5100
3 2015-06-02 6300
...
数据是每天每店一条记录,不重复

此表中的数据显示为如下的一个表格

shop_id 2015-06-01 2015-06-02 ...
1 3000 3500 ...
2 5000 5100 ...
3 6000 6300 ...
... ... ... ...

能想到的笨办法就是把数据取出来,循环加条件判断然后输出成表格,各位有没有好的解决方案或者思路可以高效的构建类似的表格?

ringa_lee
ringa_lee

ringa_lee

全部回复(5)
伊谢尔伦

请问楼主:如果2015-06-01 shop_id 为2的有两条,你的表格怎么显示?

如果数据多了呢?有没有limit?
为什么不弄一张临时表,每天生成一条表格中数据~
与html表格的数据结构完全一致~
这样直接一条select搞定~循环也不用加条件,也好维护,即使以后表格需求变了。
大不了临时表废弃就好了~

大家讲道理

你的实现方法是可行的,只是代码看起来可能没这么优雅。
建议你可以选用一些PHP框架,主流的框架基本都实现了html模版功能,推荐使用Laravelhttp://laravel.com语法很优雅!并且官方已经推出LTS版本。(长期支持 - long-time support)

怪我咯

这个太容易了呀,Codeigniter 自带的 table_helper 就可以实现啊,或者直接遍历 tr 就行了。

$table = [];
foreach($result AS $k=>$v) {
    array_push(sprintf('<tr><td>%s</td><td>%s</td><td>%s</td></tr>',
        $v->shop_id, $v->saledate, $v->trans_amt, // ...
    ));
}
$echo '<table>'.implode('', $table).'</table>';
高洛峰

表格只用一次,就用你现在的这个方法,要是多次使用,建议封装

大家讲道理

使用Mysql的Limit进行分页显示啊

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号