1

我正在考虑两个下拉列表,一个依赖于另一个。两个下拉列表都有来自数据库的值。在这种情况下,哪一个是最好的方法。

  1. 使用纯 PHP 从数据库中检索所有值,然后将它们存储在 javascript 变量中,稍后在 javascript(数组)变量中搜索第二个下拉列表值(如果第一个下拉列表的值更改)。

  2. 如果第一个下拉列表的值发生更改,则使用 AJAX(jQuery) 从数据库中检索第二个下拉列表的值。

4

2 回答 2

0

这取决于很多事情。

您必须通过从数据库中获取数据来显示第一个下拉列表,

如果下拉列表中每个选定记录的数据很大,则使用 ajax 获取它,否则制作 js 变量并在选择第一个下拉列表时使用 javascript 填充它。

根据您的标准,最好使用 Ajax 延迟加载,这将使您的页面在加载时快速加载,并且您可以使用 ajax 获取其他下拉列表的数据。

于 2012-11-25T11:38:48.027 回答
0

您指出的两种选择各有利弊,决定取决于这种利弊如何影响您的应用程序:

使用纯 PHP 从数据库中检索所有值,然后将它们存储在 javascript 变量中,稍后在 javascript(数组)变量中搜索第二个下拉列表值(如果第一个下拉列表的值更改)。

优点:

  • 最小化 http 请求,您只需要一个请求即可检索整个数据。
  • 最大限度地减少对数据库的查询,通常您只执行一个查询。

缺点:

  • 如果您有大量数据,则增加使用的内存量。
  • 如果您的数据不断变化,您的访问者在刷新整个页面之前不会看到这些变化。

如果第一个下拉列表的值发生更改,则使用 AJAX(jQuery) 从数据库中检索第二个下拉列表的值。

优点:

  • 您不需要将所有数据存储在内存中,只需将要使用的数据存储,从而减少所需的内存量。
  • 您的数据每次都会更新,无需重新加载页面,只需更改选择。

缺点:

  • 每次选择更改时,您都需要执行多个 http 请愿并针对数据库运行查询。

如果数据量比较大,性能不是必须的,我个人更喜欢方法二。

于 2012-11-25T11:53:41.620 回答