微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

打印大量信息时PHP非常慢

我有一个应用程序,我需要从数据库中检索大量的行,然后在屏幕上打印它们.我检查了mysql查询,这不是问题所在.问题是所有行都需要打印在同一页面上,没有分页,而且需要很长时间(我说的是一个带有几行行的表).有什么方法可以加快速度吗?我在Google上发现的唯一一件事是使用“,”而不是“.”使用echo时我将测试这个以确定是否有任何改进,但我不确定它会产生如此大的差异.

解决方法:

这个问题不太可能是PHP,而是大量的HTML输出到浏览器.您可以通过保存所获得的页面,然后从硬盘驱动器加载静态文件来自行验证.

如果要输出一个大表,那么浏览器通常会在加载内容时“重绘”它.这可以通过为所有列设置固定宽度来最小化.就在第一行做这个.

您也可以跳出PHP块来输出大部分HTML,然后只在适当的位置打印变量.这是一个例子,假设你的所有数据都在$rows变量中:

<?PHP
  // some code here
?>

<table>
<thead>
<tr>
  <th width="50">Header 1</th>
  <th width="200">Header 2</th>
  <th width="150">Header 3</th>
  <th width="100">Header 4</th>
</tr>
</thead>
<tbody>
<?PHP foreach ( $rows as $r ) : ?>
<tr>
  <td><?=$r['var1']?><td>
  <td><?=$r['var2']?><td>
  <td><?=$r['var3']?><td>
  <td><?=$r['var4']?><td>
</tr>
<?PHP endforeach; ?>
</tbody>
</table>

<?PHP
  // continue here if necessary

注意:如果您没有启用PHP标记,则需要执行<?PHP echo $r ['var1']?>代替.

最后,您可以尝试添加gzip压缩.最好在服务器级别完成,但在PHP中你可以添加行ob_start(“ob_gzhandler”);作为<?PHP之后的第一行PHP代码. 如果这仍然没有帮助,那么你的桌子太大了就是一个简单的事实.使用分页或过滤以减小尺寸会更好.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐