情况:当页面加载时,它会自动使用“employees”填充下拉框。 (截至目前已取得2000多条记录)
然后我必须从记录中选择一千多名员工。
一切都很好。
问题: 如果我将来要检索10,000多个数据,我将如何提高其获取速度?
还有更好的选择吗?
我想尽可能坚持可搜索的选择。如果没有,请建议一个好的。
以下是我在CodeIgniter上的代码:
控制器:
public function employee()
{
$data["get_employee"] = $this->Home_model->get_query_array("SELECT employee_id, employee_name FROM Employee_List");
$this->load->view('header_view');
$this->load->view('employee_view', $data);
$this->load->view('footer_view');
}
型号:
public function get_query_array($query_statement)
{
$query = $this->db->query($query_statement);
return $query->result();
}
视图:
<label for="employee">Employee</label>
<select class="selectpicker" data-show-subtext="true" data-live-search="true" name="employee" id="employee">
<option value=""></option>
<?php
foreach($get_employee as $row)
{
$id = $row->employee_id;
$name = $row->employee_name;
echo "<option value='".$id."'>".$name."</option>";
}
?>
</select>
非常感谢你们!
答案 0 :(得分:0)
当您对大数据执行此查询时,您的页面肯定会变慢。
为此,我希望你选择ajax select PHP搜索下拉列表。这是一个很好的例子https://codeforgeek.com/2014/09/ajax-search-box-php-mysql/请尝试使用它。这对你来说非常有用。在本节中,您会发现您的页面速度很快,并且在页面或您使用它的位置上看起来很好。
谢谢
答案 1 :(得分:0)
您可以创建从A到Z的字母下拉列表,然后使用ajax点击任意字符的鼠标悬停加载匹配该字符的员工。这样您就可以减少编号。一次加载员工会减少从服务器获取的时间,因为如果你试图一次加载,肯定会花费时间。