Php 仅在下拉列表中显示X条记录
我发布的代码有没有办法在下拉列表中只显示一定数量的记录。我不是说mysql中的0,5限制。我有1000条记录,这导致IE被挂起。火狐很快。如果有人能给我一些指导,我将不胜感激。谢谢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"> &
<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,您必须再次查询才能获得下一组记录。正如其他人所提到的,一个好的选择是进行分页,即,您有某种类型的界面,允许您在结果之间进行分页,并用下一组替换当前的
。