首页 > 解决方案 > 动态加载选择数百万个选项 php mysql

问题描述

我创建了一个带有一个选择下拉列表的 html 表单,一个是文本字段。

<select id="single" name="drug_id" class="form-control select2">
<option></option>   
<?php
$all_drugs= "SELECT drug_id, drug_name FROM drugs";
$result = $conn->query($all_drugs);
$number_of_row = $result->num_rows;
if ($number_of_row > 0) {
while ($obj = $result->fetch_object()) {
?>
<option value="<?php echo $obj->drug_id ; ?>"><?php echo $obj->drug_name ; ?></option>
<?php
}} 
else { echo "No Medicine Found."; }
?>
</select>

它从数据库加载数据,但由于药物表有 100 万个数据,因此需要 280 万。

请帮助我以最快的方式加载数据...

标签: phpmysqlajaxperformance

解决方案


您应该使用基于 AJAX 的自动完成功能,而不是在下拉菜单中显示 100 万个选项。

查看此链接以获取自动完成示例。 要在执行 WHERE 条件以找出结果的 MySQL 列上获取自动完成结果快速集索引。


推荐阅读