【问题标题】:search data and export to csv codeigniter搜索数据并导出到 csv codeigniter
【发布时间】: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


【解决方案1】:

要导出 csv 数据,您必须包含一个 csv_helper 文件 在控制器中你要做的就是

$this->load->helper('csv'); query_to_csv($query, TRUE, 'searchfile.csv');

$query 是你的结果数据

【讨论】:

    猜你喜欢
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2016-08-03
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2013-09-15
    相关资源
    最近更新 更多