Php 在html输出上阻塞浏览器

Php 在html输出上阻塞浏览器,php,macos,firefox,html-table,Php,Macos,Firefox,Html Table,我有一个很大的表要输出到HTML和浏览器中。当表格有200行时,这很好,但当它有20000行时,浏览器会阻塞。我使用$html.='和'将所有内容输出到一个变量中,然后在末尾,echo$html。在我的新Mac电脑上,有SSD和32G内存,一个20000行的表加载大约需要6秒钟,但会停止所有操作。五颜六色的死亡之球旋转,音乐停止播放,然后东西出现,一切正常 问题是:如何在浏览器中输出一个大表而不使其阻塞 请注意,正如Freddy Mercury所说,我想要一切,我现在就想要。所以,请不要告诉我一

我有一个很大的表要输出到HTML和浏览器中。当表格有200行时,这很好,但当它有20000行时,浏览器会阻塞。我使用
$html.='和'
将所有内容输出到一个变量中,然后在末尾,
echo$html
。在我的新Mac电脑上,有SSD和32G内存,一个20000行的表加载大约需要6秒钟,但会停止所有操作。五颜六色的死亡之球旋转,音乐停止播放,然后东西出现,一切正常

问题是:如何在浏览器中输出一个大表而不使其阻塞


请注意,正如Freddy Mercury所说,我想要一切,我现在就想要。所以,请不要告诉我一次做一个20行的分页表。我知道怎么做,但我不想这么做。无论如何,要做到这一点,您必须加载所有行,并且只显示20行,这会导致相同的阻塞

能否让内容只显示前20行,然后通过类似于Facebook和Pintrest的ajax滚动拉入附加信息?您可以“最终”获得所有数据,但不要试图一次加载所有数据,以使其正常工作

无论如何,要做到这一点,您必须加载所有行,并且只显示20行,这会导致相同的阻塞

那绝对是个坏主意。我将在您的模型中编写一个方法,以获取下n个记录。您可以在初始页面加载时通过Ajax调用此方法,然后在每次用户单击“nextn Entries”链接并更新页面时再次调用


您肯定不想加载20K项的HTML,而使用jQuery一次隐藏和显示n条记录;在好的浏览器中,DOM遍历将花费很长时间,并且将完全崩溃,即。

您正在加载一个20000行的表。这需要一段时间。我不明白你为什么需要这样做。这主要是为了调试puspose,我想看看它,知道它在那里,在决赛中,它将被过滤,只显示10-20行,但现在,基本上,mysql表的可视化转储到屏幕6秒的加载时间对于调试来说似乎并不坏。您能给它一个固定的宽度并使其
表布局:固定
?这可能要快得多,因为它不必执行自动列平衡之类的操作。浏览器渲染表需要更多的时间。浏览器尝试在开始渲染表之前计算表的大小。如果它只是输出的一个可视化转储,那么根本不要使用表。只需输出每条记录,然后是

崩溃IE。。。。啊,这是一件很好的事情。。这将告诉人们,获得一个真正的浏览器或获得一种生活:-)