开发者

Output query to csv, codeigniter

I currently have a report that give me the users ID number and their email address, But I would like to make this in a CSV file instead of tables and rows like I currently have.

Here is my controller

function View_Email_E()
{
$data = array();

    if($query = $this->report_model->View_Email_English())
    {
        $data['records'] = $query;
    }
$data['main_content'] = 'view_all_email_english';
$this->load->view('includes/template', $data);


}

Here is my model

    function View_Email_English()
{

    $query = $this->db->where(array('Dial_Up' => '0', 'Language' =&开发者_开发百科gt; 'English', 'Membership_Status' => 'Active'));
    $query = $this->db->like('Email', '@');
    $query = $this->db->get('Membership');
    return $query->result();
}

For some reason my view is not being shown in code mode, but it is an auto generated table using these this snippet of code. Each row returns ID and Email from the database.

<?php if(isset($records)) : foreach($records as $row) : ?>

How can I make a CSV file with just ID and email fields?

Thanks


I think you can use the csv_from_result function in dbutil to do it. Try something like this:

$csvContent = $this->dbutil->csv_from_result($query);

if ( ! write_file('./path/to/file.csv', $csvContent)) {
    echo 'Unable to write the file';
} else {
    echo 'File written!';
}    

http://codeigniter.com/user_guide/database/utilities.html#csv


Add

$this->db->select(array('ID','Email'));

To your View_Email_English function.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜