CSV export open CSV in the browser instead of download file

Status
Not open for further replies.

PaulC

New member
Hi,
I have an issue related with a CSV download/export

Code:
    error_reporting(0);

    global $wpdb;

    $obj_membership=new MJ_gmgt_membership;

    $membershipdata=$obj_membership->MJ_gmgt_get_all_membership();
    
    $obj_product=new MJ_gmgt_product;
    
    $product = $obj_product->MJ_gmgt_get_single_product($retrieved_data->product_id);


    if(!empty($membershipdata))

    {

        $filename="Membership Report.csv";

        $fp = fopen($filename, "w");

        // Get The Field Name

        $output="";

        $header = array();
        
        $header[] = esc_html__('Id','gym_mgt');

        $header[] = esc_html__('Invoice No.','gym_mgt');

        $header[] = esc_html__('Member Name','gym_mgt');

        $header[] = esc_html__('Product Name','gym_mgt');

        $header[] = esc_html__('Total Amount','gym_mgt');
        
        $header[] = esc_html__('Paid Amount','gym_mgt');

        $header[] = esc_html__('Due Amount','gym_mgt');

        $header[] = esc_html__('Payment Status','gym_mgt');

        fputcsv($fp, $header);

        $i=1;

        $membership_id = $membershipdata->membership_id;

        $user = get_users(array('role' => 'member'));
        
        
        $invoice_no=$retrieved_data->invoice_no;

        foreach ($storedata as $retrieved_data)

        {

            $membership = $obj_membership->MJ_gmgt_get_single_membership($user_data->membership_id);

            $membership_name = $membership->membership_label;           

            $row = array();

            $row[] = $i;

            $row[] = $retrieved_data->invoice_no;

            $row[] = $userdata->display_name;

            $row[] = $product_name;

            $row[] = $retrieved_data->total_amount;

            $row[] = $retrieved_data->paid_amount;
            
            $row[] = $due_amount;
            
            $row[] = $retrieved_data->payment_status;

            $i++;

        fputcsv($fp, $row);

        }

        // Download the file
        fclose($fp);

       ?>

        <?php

    }

?>

<div class="margin_top_20 form-group col-md-4 col-xs-12 button-possition ">

    <a class="btn report_download_btn" href='<?php echo $filename;?>'><?php esc_html_e('Download Report In CSV','gym_mgt');?></a>

</div>

Basically is exporting the CSV, but is opening itself on the web browser instead of get a downloadable file
Thanks in advance
 
You need to convert the data into html table, not to csv if you want to open it in browser.
 
Status
Not open for further replies.
Back
Top