Bootstrap-Selectpicker:如何加速在巨大记录上获取数据?

时间:2017-01-30 08:43:09

标签: php codeigniter bootstrap-selectpicker

情况:当页面加载时,它会自动使用“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>

非常感谢你们!

2 个答案:

答案 0 :(得分:0)

当您对大数据执行此查询时,您的页面肯定会变慢。

为此,我希望你选择ajax select PHP搜索下拉列表。这是一个很好的例子https://codeforgeek.com/2014/09/ajax-search-box-php-mysql/请尝试使用它。这对你来说非常有用。在本节中,您会发现您的页面速度很快,并且在页面或您使用它的位置上看起来很好。

谢谢

答案 1 :(得分:0)

您可以创建从A到Z的字母下拉列表,然后使用ajax点击任意字符的鼠标悬停加载匹配该字符的员工。这样您就可以减少编号。一次加载员工会减少从服务器获取的时间,因为如果你试图一次加载,肯定会花费时间。