|
|
|
|
|
|
| |
Hi All,
I'm sure its been done to death, but here it is. Simple and it allows input of a table name for the user to export...
Turn off all error reporting
error_reporting(0);
db conn stuff
mysql_connect('host', 'user', 'passwrd') or die ("Error connecting to Database");
| <?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
require("local_conn.php");
$sql = "select * from $table ";
if (!($conn2=mysql_connect($host, $username, $pwd))) {
printf("error connecting to DB by user = $username and pwd=$pwd");
exit();
}
$db2=mysql_select_db($dbname,$conn2) or die("Unable to connect to local database
$result = mysql_query($sql) or die ("Can't complete query because ".mysql_error());
if (($result)&&(mysql_num_rows($result)>1)){
return $result;
}else{
echo "No Results found. Check your table name";
die();
}
if (($result) && (mysql_num_rows($result)>0)){
//set the path and file name
//$dir="/path/to/file/";
$filename = 'test.txt';
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
$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-Disposition: inline; filename="' . $file . '"');
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 . '"');
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 action=".$_SERVER['PHP_SELF']." method=post>
Table Name:<input type=text name=mytable>
<input type=submit name=submit value=Submit>
</form></body></html>";
}
?> | |
|
|
| Convert a File database into MySQL Categories : PHP, Filesystem, Databases, MySQL, Beginner Guides | | | The simple counter with use MySql and gd. Categories : MySQL, HTTP, Graphics, PHP, Databases | | | Identify and log search engine access (spiders, robots, etc.) to a page. Categories : HTTP, Environment Variables, PHP, MySQL, Databases | | | This program allows you to upload an ODBC ressource - i.e. an MS-Access database to a MySQL server. Categories : Databases, MySQL, Complete Programs, PHP, Databases | | | bookmarker - PHP, PHPLIB, MySQL WWW based bookmark manager Categories : MySQL, PHP, MySQL, Complete Programs, Databases | | | A simple script to count and report hits and the last
modification time of an HTML page. Requires MySQL support
(other DBs should work too, except possibly mSQL). Categories : HTTP, MySQL, PHP, Databases | | | PHP Transfer data from text file to Mysql Table Categories : PHP, PHP Classes, Filesystem, Databases, MySQL | | | Accepts a database & hostname from a user and then HTTP username and password. Uses this to connect to a MySQL database. Produces a form based on the tables it finds there to allow the user to do SELECTs, INSERTs, and DELETEs. Categories : Databases, PHP, MySQL, Complete Programs | | | phpAds, a complete banner and ad management system with detailled tracking and stats. Categories : MySQL, Complete Programs, Ecommerce, PHP, Databases | | | Point and Click Interface ala MS Access for creating SQL statements. Categories : MySQL, Complete Programs, General SQL, PHP, Databases | | | Message of the Day - Random Message (Needs MySQL!) Categories : Databases, HTML and PHP, PHP, MySQL | | | Alternating background color for HTML table rows Categories : PHP, Databases, MySQL, HTML and PHP | | | color codes for positive and negative numbers Categories : PHP, MySQL, Databases, HTML | | | A very simple way to build and do a hierarchical html categories browser without javascript , just using html php and mySql
Categories : HTML and PHP, Databases, Algorithms, PHP, MySQL | | | Tropicalm Genetree Family (MySQL based family tree) Categories : PHP, Interfaces, Databases, MySQL, Complete Programs | |
| | | | Ron Rutten wrote : 1156
typo-error at line 25: missing "); after database
$db2=mysql_select_db($dbname,$conn2) or die("Unable to connect to local database");
| | | | matthew waygood wrote : 1158
You should avoid saving the data to a single file. What if 2 people execute the script just after each other? the first person may get the second persons information. You would be better to either use a random filename (perhaps using microtime) and delete the file afterwards or just keep the data in memory and output it directly to the browser.
| | | | bastien koert wrote :1161
Hi Matt,
Your point is entirely valid. And in a normal operating environment I would do exactly that. However, the user that I worked on this for only needed the one file...
Like anything written here, its all adaptable and customizable to suit the users desired results.
Damn copy`n`paste...
Bastien
| |
|
|
|