Script To Convert Data From MySQL Table To Tab Formatted TXT Datafeed

Hi Friends, Some days ago I was working on one project in which i need to make one datafeed text file by mysql table data and I have to create that datafeed text file in a way that data must be separated by tab. After so many searched I got so many codes and no one code was working perfectly , every code was having some problems, So i change code and solve problems and lastly i made that datafeed text file by my mysql table data with tab formatted. So below is the  code by which you can make tab formated datafeed text file for your mysql table data.

<?php
if (!$_POST['submit']){
show_form();
}else{$table = $_POST['mytable'];
if (!eregi(“[a-z0-9_]{1,64}”,$table)){
show_form();
die(“disallowed_table name. if your tables names contain other characters, consider renaming them.”);
}//end if

if (!($conn2=mysql_connect(‘localhost’, ‘root’, ”)))  {
printf(“error connecting to DB by user = $username and pwd=$pwd”);
exit();
}

$db2=mysql_select_db(‘edward_hootofloot’,$conn2) or die(“Unable to connect to local database”);
$sql = “select * from $table”;
$result = mysql_query($sql) or die (“Can’t complete query because “.mysql_error());

if (($result) && (mysql_num_rows($result)>0)){

//set the path and file name
//$dir=”/path/to/file/”;
$filename = “Ad_Details_”.date(“d_M_Y”);

if (!$handle = fopen($filename, ‘w’)) {
echo “Cannot open file ($filename)”;
exit;
}

while ($rows = mysql_fetch_array($result)){
$fields = mysql_num_fields($result);
$content = “”;
//calc the length of the line (number of elements)
for($x = 0; $x < $fields-1; $x++){

$content .= $rows[$x] . “    “;

}//next
echo “<br>”;
$content = substr($content, 0, strlen($content)-2). “\n”; //remove the last pipe as its not needed and adds the new line character

// Write $content to our opened file.
if (fwrite($handle, $content) === FALSE) {
echo “Cannot write to file ($filename)”;
exit;
}
}//end while

fclose($handle);

//call the function to force the download the users computer
force_download($filename);

}//end if

}//end if
function force_download($file)
{
//$dir=”/path/to/file/”;
if (isset($file)) {
header(“Content-type: application/force-download”);

header(“Content-Transfer-Encoding: Binary”);
header(“Content-length: “.filesize($file));
header(‘Content-Type: application/octet-stream’);
//header(“Content-disposition: attachment; filename=”".basename($file).”"”);
header(‘Content-Disposition: attachment; filename=”‘ . $file . ‘”.txt’);
readfile(“$file”);
} else {
echo “No file selected”;
} //end if

}//end function

function show_form()
{
echo “<html><body><h2> Table Data Exporter </h2>
<h4>Creates a pipe delimited file of the table contents.</h4>
<br><br><form name=myform method=post>
Table Name:<input type=text name=mytable>
<input type=submit name=submit value=Submit>
</form></body></html>”;

}
?>

Generated text file will be saved where current script file exists on server. You can change path of generated text file by mention in this script. I hope you liked my articles. If you have any problems in this article make comment and ask without any hesitation. I will reply you with solution asap.

Subscribe to PHP Freelancer

Enter your email address: