PHP & lt; Select>盒子创建缓慢


PHP <Select> box creation is slow

我有一个网站,有2组2个选择框,每组包含大约5000条记录,每组包含相同的数据,只是以不同的顺序显示,数据存储在mysql表中。

我发现这些下拉框的创建/加载速度大约是每个框1-2秒,我想知道是否有任何小技巧可以帮助加快速度?

我试着只检索一次数据,进入一个数组,诉诸数组,然后创建第二个下拉框,但这更慢。

除了每个"可能"下拉列表中的一个记录需要标记为"已选"之外,列表的内容通常是静态的。

考虑到这一点,我尝试创建每个列表的内容"每次会话一次",然后做一个str_replace()将必要的记录标记为"选定",但这花了很长时间在所有四个盒子上,以防止页面加载。

任何建议或想法都将是最受欢迎的

谢谢

加载速度取决于程序中的几个点。

  • 首先,在给定的时间内从数据库中取出5,000条记录订单(两次).

  • 然后循环遍历这些项,将它们转换为HTML输出。

  • 然后将页面中的所有10,000项发送到浏览器。

  • 最后,浏览器需要在页面上呈现这些项

你可以通过减少项目的数量来加快这一切。例如,不是提供世界上所有城镇的列表,而是提供一个文本框,用户可以输入城镇来减少列表的大小。然后,您可以通过获取较小的城镇匹配列表以供他们选择来改善体验(甚至将其实现为AJAX请求,以便他们不需要提交页面以获取列表)。