0

Export CSV TO Mysql and Import to CSV from MYsql in PHP

Edited by tellysk: n/a

Import To mysql

$contents = file ('filename.csv');
for($i=0; $i<sizeof($contents); $i++)
{
$string = "remove value";
$no = str_replace($string, "/", $contents[$i]);
Print $no; 
$sql = mysql_query("insert into tablename (id) values ('$no')");
echo "<br>";
}


Export to CSV 

require 'exportcsv.inc.php';

$table="tablename"; // This is the tablename that you want to export to csv from mysql.

exportMysqlToCsv($table);




function exportMysqlToCsv($table,$filename = 'filename.CSV')
{
    $csv_terminated = "\n";
    $csv_separator = ",";
    $csv_enclosed = '"';
    $csv_escaped = "\\";
    $sql_query = "select * from $table";
 
    // Gets the data from the database
    $result = mysql_query($sql_query);
    $fields_cnt = mysql_num_fields($result);
 
 
    $schema_insert = '';
 
  /*  for ($i = 0; $i < $fields_cnt; $i++)
    {
        $l = $csv_enclosed . str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, stripslashes(mysql_field_name($result, $i)));
        $schema_insert .= $l;
       $schema_insert .= $csv_separator;
    } */// end for
 
   // $out = trim(substr($schema_insert, 0, -1));
   // $out .= $csv_terminated;
 
    // Format the data
    while ($row = mysql_fetch_array($result))
    {
        $schema_insert = '';
        for ($j = 0; $j < $fields_cnt; $j++)
        {
            if ($row[$j] == '0' || $row[$j] != '')
            {
 
                if ($csv_enclosed == '')
                {
                    $schema_insert .= $row[$j];
                } else
                {
                    $schema_insert .= $csv_enclosed . 
					str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, $row[$j]) . $csv_enclosed;
                }
            } else
            {
                $schema_insert .= '';
            }
 
            if ($j < $fields_cnt - 1)
            {
                $schema_insert .= $csv_separator;
            }
        } // end for
 
        $out .= $schema_insert;
        $out .= $csv_terminated;
    } // end while
 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Length: " . strlen($out));
    // Output to browser with appropriate mime type, you choose ;)
    header("Content-type: text/x-csv");
    //header("Content-type: text/csv");
    //header("Content-type: application/csv");
    header("Content-Disposition: attachment; filename=$filename");
	
		if($out)
		{
			echo $out;
			$table="table_csv";
			mysql_query("TRUNCATE $table");
		}
   
	
	
    exit;
	
	
 
}
5
Contributors
4
Replies
21
Views
7 Years
Discussion Span
Last Post by Anvesh_1
0

For the mysql import copy paste line 3-11 into a php file, update the file/table names

I dont quite get how the mysql import works.

For the csv export copy paste lines 16-103 into a php file, and update the file & table name at the top

I should also warn about this on line 94, mysql_query("TRUNCATE $table"); that will delete all data from the table - i don't know why that is there. i would comment it out unless thats what you want

the csv one looks like it should work though

Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.