Php 仅在下拉列表中显示X条记录

Php 仅在下拉列表中显示X条记录,php,drop-down-menu,Php,Drop Down Menu,我发布的代码有没有办法在下拉列表中只显示一定数量的记录。我不是说mysql中的0,5限制。我有1000条记录,这导致IE被挂起。火狐很快。如果有人能给我一些指导,我将不胜感激。谢谢 <p><fieldset><legend class="style8">Select a Box</legend> <select name="suggestTextField1" id="suggestTextField1"> &

我发布的代码有没有办法在下拉列表中只显示一定数量的记录。我不是说mysql中的0,5限制。我有1000条记录,这导致IE被挂起。火狐很快。如果有人能给我一些指导,我将不胜感激。谢谢

<p><fieldset><legend class="style8">Select a Box</legend>

      <select name="suggestTextField1" id="suggestTextField1">
      <option value="">Select a Box</option>
        <?php
do {  
?>
        <option value="<?php echo $row_rsSuggest1['boxref']?>"><?php echo $row_rsSuggest1['boxref']?></option>
        <?php
} while ($row_rsSuggest1 = mysql_fetch_assoc($rsSuggest1));
  $rows = mysql_num_rows($rsSuggest1);
  if($rows > 0) {
      mysql_data_seek($rsSuggest1, 0);
   $row_rsSuggest1 = mysql_fetch_assoc($rsSuggest1);
  }
?>
      </select>
      </fieldset>
      </p>


$colname_rsSuggest1 = "-1";
if (isset($_SESSION['kt_idcode_usr'])) {
  $colname_rsSuggest1 = (get_magic_quotes_gpc()) ? $_SESSION['kt_idcode_usr'] : addslashes($_SESSION['kt_idcode_usr']);
}
mysql_select_db($database_conn, $conn);
$query_rsSuggest1 = sprintf("SELECT DISTINCT `boxref` FROM `files` WHERE customer = '%s' AND boxstatus = 1 ORDER BY boxref ASC", $colname_rsSuggest1);
$rsSuggest1 = mysql_query($query_rsSuggest1, $conn) or die(mysql_error());
$row_rsSuggest1 = mysql_fetch_assoc($rsSuggest1);
$totalRows_rsSuggest1 = mysql_num_rows($rsSuggest1);
选择一个框
选择一个框

$colnamerssuggest1=“-1”; 如果(isset($_会话['kt\u idcode\u usr'])){ $colname\u rsSuggest1=(get_magic\u quotes\u gpc())?$会话['kt\u idcode\u usr']:添加斜杠($会话['kt\u idcode\u usr']); } mysql\u select\u db($database\u conn,$conn); $query_rsSuggest1=sprintf(“从'files'中选择不同的'boxref',其中customer='%s',boxstatus=1 ORDER BY boxref ASC”,$colname_rsSuggest1); $rsSuggest1=mysql_query($query_rsSuggest1,$conn)或die(mysql_error()); $row\u rsSuggest1=mysql\u fetch\u assoc($rsSuggest1); $totalRows\u rsSuggest1=mysql\u num\u rows($rsSuggest1);
除非您在代码后面使用所有记录,否则最好使用
限制
子句。这将通过扩展加快查询和脚本的速度。查看一些分页脚本以开始。除非您稍后在代码中使用所有记录,否则最好使用
LIMIT
子句。这将通过扩展加快查询和脚本的速度。查看一些分页脚本以开始。

您可以更改插入
do{}while()
循环,使其在5个循环后停止,但如果您只打算使用5,更好的答案是只从数据库中获取5。

您可以更改
do{}while()
循环,即插入
以在5次循环后停止,但如果您只打算使用5,则更好的答案是仅从数据库中获取5。

$i=0;
    $i = 0;
while ( $i < x ) {
$i++;
echo the records
}
而($i
我想这行得通

$I=0;
而($i

我认为,通过将分页合并到下拉列表中,您可以实现这一点。其想法是一次只显示少数项目,并提供后退/下一步按钮,允许用户查看更多内容。使用第三方库最容易做到这一点,但您也可以使用CSS和Ajax自己做到这一点

搜索支持分页的下拉列表。我没有使用过PHP,所以我无法向您指出任何好的PHP库。看起来有些东西声称与PHP兼容,但在Firefox中似乎不起作用。您可能还幸运地使用yuipaginator()构建了自己的分页下拉列表


另一个选项是将Ajax搜索支持添加到下拉列表中。这将允许用户键入他们正在搜索的内容,将列表从数千个减少到更小的数量。这是相当常见的,因此您应该不会在查找库时遇到问题。

您可以通过将分页合并到下拉列表中来完成。其想法是一次只显示少数项目,并提供后退/下一步按钮,允许用户查看更多内容。使用第三方库最容易做到这一点,但您也可以使用CSS和Ajax自己做到这一点

搜索支持分页的下拉列表。我没有使用过PHP,所以我无法向您指出任何好的PHP库。看起来有些东西声称与PHP兼容,但在Firefox中似乎不起作用。您可能还幸运地使用yuipaginator()构建了自己的分页下拉列表


另一个选项是将Ajax搜索支持添加到下拉列表中。这将允许用户键入他们正在搜索的内容,将列表从数千个减少到更小的数量。这是相当常见的,因此您应该不会有困难找到库来执行此操作。

为什么要获取所有1000+行,然后只显示/使用其中的5行?为什么要获取所有1000+行,然后只显示/使用其中的5行?抱歉,各位。我不使用5。我只是举个例子,这样你们就不会认为我在寻找mysql限制选项。谢谢,不管你的限制是什么,你应该只查询你将要使用的内容。我可能在想,当用户滚动列表时,先加载前100条记录,然后再加载下100条记录,或者其他什么,这样会有效吗?如果使用LIMIT,如何获取剩余记录?谢谢如果您使用limit,您必须再次查询才能获得下一组记录。正如其他人所提到的,一个好的选择是进行分页,即,您有某种类型的界面,允许您在结果之间进行分页,并用下一组替换当前的
。对不起,伙计们。我不使用5。我只是举个例子,这样你们就不会认为我在寻找mysql限制选项。谢谢,不管你的限制是什么,你应该只查询你将要使用的内容。我可能在想,当用户滚动列表时,先加载前100条记录,然后再加载下100条记录,或者其他什么,这样会有效吗?如果使用LIMIT,如何获取剩余记录?谢谢如果您使用limit,您必须再次查询才能获得下一组记录。正如其他人所提到的,一个好的选择是进行分页,即,您有某种类型的界面,允许您在结果之间进行分页,并用下一组替换当前的