php - 动态加载选择数百万个选项 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 万。
请帮助我以最快的方式加载数据...
解决方案
您应该使用基于 AJAX 的自动完成功能,而不是在下拉菜单中显示 100 万个选项。
查看此链接以获取自动完成示例。 要在执行 WHERE 条件以找出结果的 MySQL 列上获取自动完成结果快速集索引。
推荐阅读
- ide - PhpStorm 选择下一个出现的符号
- reactjs - 如何在 React 中更改 Navlink 的子元素的样式?
- rest - 通过传递用户名和密码来调用spring boot resttemplate api
- pytorch - torch.Tensor.add_ 发生了什么?
- firebase - 注销时无法读取 null 的属性“uid”
- go - 转到 Active Directory OBJECTGUID 属性
- javascript - 如何在对象方法上使用 fromEvent 而不是 bindCallback?
- azure-devops - 从 TFVC 迁移到 Git - 它如何处理分支?
- json - 在没有另一个 ']' 的情况下转义 JSON 字符串中的 '[' 括号
- java - 如何在中文设备中以编程方式为我的应用启用自动启动选项?