1

情况:当页面加载时,它会自动在下拉框中填充“员工”。(截至目前已获取 2,000 多条记录)

然后我必须从记录中选择数千名员工。

一切正常。

问题: 如果将来要检索 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>

非常感谢你们!

4

2 回答 2

0

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

为此,我更喜欢您使用 ajax 选择 PHP 搜索下拉菜单。这是一个很好的例子https://codeforgeek.com/2014/09/ajax-search-box-php-mysql/ 请尝试一下。这对您将非常有用。在本节中,您会发现您的页面速度很快,并且作为表单中的功能或您使用它的地方看起来不错。

谢谢

于 2017-01-30T10:03:38.867 回答
0

您可以创建从 A 到 Z 的字母下拉列表,然后单击使用 ajax 加载匹配该字符的员工的任何字符的悬停。通过这种方式,您可以减少编号。一次加载员工,这将减少从服务器获取的时间,因为如果您尝试一次加载所有内容,肯定会花费时间。

于 2017-01-30T12:20:54.917 回答