我是网络开发的新手,对于我的第一个项目,我需要4个级联下拉菜单。我一直在尽可能多地阅读解决这个问题的最佳方法,并讨论是要预加载这些列表还是从我的数据库中获取它们。我是一个LAMP项目,我有大约5000个项目需要进入这些下拉菜单。我见过的讨论指出,如果你没有大量的下拉项目,你最好预先加载这些项目并使用javascript拉它们。我的问题是什么被认为是一个大数字?有了5000项,我最好走MySQL路线吗?在某种程度上我更喜欢,但所有的教程似乎都处理ASP或预装项目。所以我的问题是:
5000个项目是否太多而无法为下拉列表预加载?什么会截止?
而且,如果有MySQL的话,你知道有什么好的教程让我入门。我见过一对但是他们不是很详细,而且对于一个新手我会绕着轴缠绕。非常感谢!
答案 0 :(得分:0)
首先,5K下拉,没办法!在JS中缓存它也是一样的。我的建议是,尝试调查PHP,AJAX和MySQL。然后创建一个自动完成系统,允许非思维方法访问信息。
如果您仍需要一个好的教程或PHP MySQL下拉菜单: http://www.yourwebskills.com/mysqldropdown.php
然后根据我的建议:
http://beski.wordpress.com/2009/11/20/jquery-php-mysql-ajax-autocomplete/ http://www.webinone.net/tutorials/php/auto-complete-text-box-with-php-jquery-and-mysql/
请阅读,如果你无法解决问题,请回来询问!
答案 1 :(得分:0)
我会更多地考虑kb的大小而不是多少项目。我猜测gzip之后即使是5k条目也将是1-2kb,与典型网页加载的其他外部对象相比通常很少(与图像大小+ css + js相比)。
从响应性的角度来看,不得不做多个单独的http请求是昂贵的,特别是对于像移动设备这样的高延迟连接(由于延迟,网络自动完成在我的手机上通常非常蹩脚)。
所以,无论如何,除非数据量巨大,或者数据使用的可能性非常低,否则我个人倾向于只是将其全部加载。