【发布时间】:2014-08-04 05:01:47
【问题描述】:
我刚刚创建了将数据导出到 csv 文件的函数,效果很好。但是现在,我必须先搜索数据并将结果显示在视图上,然后将其导出为 csv 文件。
例如,我通过吉隆坡的位置搜索公司,然后它将显示位于吉隆坡的公司。然后我有一个按钮可以将其导出为 csv 文件,但我不知道如何从视图中获取数据。这样做有什么逻辑吗?到目前为止,这是我的模型:
function select_company_query() {
$sql = 'select tb_company.id as company_id, tb_company.company_name, tb_company.sector, tb_company.phone, tb_company.email, '
. 'tb_location.id as id_location, tb_location.prefer_location from tb_company, tb_location '
. 'where tb_company.id = tb_location.company_id';
$query = $this->db->query($sql);
return $query;
}
我的控制器是:
function export($search_by, $search_field) {
$this->load->dbutil();
$this->load->helper('file');
$path = '/var/www/company.csv';
if ($search_by == 'FALSE') {
$report = $this->company_model->select_company_query();
$new_report = $this->dbutil->csv_from_result($report);
if (!write_file($path, $new_report, 'c+')) {
echo 'Unable to write the file!';
} else {
redirect(base_url('index.php/company'));
}
}
}
感谢任何帮助。谢谢。
【问题讨论】:
-
不,您不需要从视图中获取数据,实际上您需要使用查询从模型中获取数据。首先,当您从视图中搜索数据时,然后将搜索值存储在任何存储中或使用 jquery 获取数据,并通过按钮单击时的 url 将数据发送到控制器。现在您可以从 url 获取搜索值并发送到模型,在模型中您可以在 where 子句
LIKE %Kuala Lumpur%中使用 -
能否举个例子来存储搜索值?
-
首先将 id 分配给您的 export_csv 按钮,然后在您的视图中使用像
<script> $('#new_button_export_csv').click( function () { var search_val = ('#search_text_box').val() ; var URL = your_url+'?search_val='+search_val; window.location.href = URL ; } </script>这样的脚本 -
其实我很少用jquery。我对此有点困惑。单击搜索按钮时,搜索值将保存到脚本中,对吗?先生,该怎么做?
-
会有一个文本框,您可以在其中输入要搜索的值,对吗?
标签: php codeigniter csv