MySQL to tab formatted TXT(datafeed) converter script-PHP

MySQL to Google Based Datafeed Converter PHP Script

Hello Friends !!

Currently I am working on one project in which I have to store data in Google Merchant Center.

This is a Google Product Search which is used for search any product around the world. Currently many shopping sites stores their products in Google Product Search.

For store data in google product search, Google supports txt file with tab seperated.

After some reserch I have made one PHP script which store data from MySQL table to txt file with tab seperated.

Here is the code for this :

<?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>”;

}
?>

click here for more details :

Note : TXT file is stored at that location where this script is stored.

If you have any question or any query regarding this, please comment on this.

Thank you !!

You can leave a response, or trackback from your own site.

Leave a Reply

blog comments powered by Disqus
Subscribe to RSS Feed Follow me on Twitter!
Get Adobe Flash playerPlugin by wpburn.com wordpress themes
Thank you for using IGIT Tweet Share Button, a plugin by HackingEthics