将OICQ数据转成MYSQL数据


Posted in PHP onOctober 09, 2006

This file is /tmp/phpBeoJQ5 .  
################# You can copy this code to test #################  

<?  
include("include/dbclass.inc"); //可以用 MYSQL.INC 类代替测试  
$q = new DB_Sql;  

$db = $q->Database; //define the database  
mysql_connect('localhost:3306',$q->User,$q->Password);  
?>  

<form method="post" action="<?php echo $PHP_SELF;?>"  
enctype="multipart/form-data">  
<input type="file" name="csv_file"  
value="<?php echo $csv_file;?>">    
terminated by <input type="text" name="terminated"  
value="," size=2><p>  
Which table you want to insert ?  
<?php show_table($db,$table); ?><p>  
<input type="submit" name="submit" value="go">  
</form>  

<?php  

function show_field($db,$table,$num,$selected_field) {  
$result = mysql_db_query($db, "SHOW KEYS FROM $table") or mysql_die();  
$primary = "";  
while ($row = mysql_fetch_array($result))  
if ($row["Key_name"] == "PRIMARY")  
$primary .= "$row[Column_name], ";  
$result = mysql_db_query($db, "SHOW FIELDS FROM $table");  
if (!$result) {  
mysql_die();  
}  
else {  
echo "<select name=field$num>n";  
while ($row= mysql_fetch_array($result)) {  
$selected = ($selected_field == $row["Field"]) ? "selected" : "";  
echo "<option value=" . $row["Field"] . " $selected>" .  
$row["Field"] . "</option>n";  
}  
echo "</select>nn";  
}  
}  

function show_table($db,$selected_table) {  
$tables = mysql_list_tables($db);  
$num_tables = @mysql_numrows($tables);  
if ($num_tables == 0) {  
echo "no table yet";  
}  
else {  
$i = 0;  
echo "<select name=table>n";  
while ($i < $num_tables) {  
$table = mysql_tablename($tables, $i);  
$selected = ($selected_table == $table) ? "selected" : "";  
echo "<option value=$table $selected>$table</option>n";  
$i++;  
}  
echo "</select>nn";  
}  
}  

if ($submit) {  
if(!empty($csv_file) && $csv_file != "none") {  
//$csv_file = stripslashes($csv_file);  
$fp = fopen($csv_file, "r");  

// show first line of the csv file to select dababase table and its fields  
echo "<form method=post action=$PHP_SELF>";  

$csv_data = fgetcsv($fp, 2000, "$terminated");  
$num = count($csv_data);  
for ( $c=0; $c<$num; $c++ ) {  

$field_name[$c] = $csv_data[$c];  
echo $field_name[$c] . "  n";  

$table_field_name = "field$c";  
show_field($db,$table,$c,$$table_field_name);  
echo "<br>";  
}  

// copy the tmp file for next use  
$dest = "/tmp/csv_file.csv";  
copy($csv_file,$dest);  

echo "<input type=hidden name=csv_file value=$dest>n" .  
"<input type=hidden name=table value=$table>n" .  
"<input type=hidden name=terminated value=$terminated>n" .  
"<input type=submit name=submit value=ok></form><p>n";  

// when click 'ok' button ,start insert data  
if ($submit == "ok") {  
$NO = 1;  
while ($csv_data = fgetcsv($fp, 2000, "$terminated")) {  
//$num = count($csv_data);  
for ( $c=0; $c<$num; $c++ ) {  

$table_field_name = "field$c";  
$first_3 = substr($$table_field_name, 0, 3);  
$first_2 = substr($$table_field_name, 0, 2);  
$val_tmp = ($first_3 == "fid" || $first_3 == "int"  
|| $first_2 == "id") ?  
$csv_data[$c] : "'" . $csv_data[$c] . "'";  
$val .= $val_tmp . ",";  
$var .= $$table_field_name . ",";  
}  
$val = substr($val, 0, -1);  
$var = substr($var, 0, -1);  
$query = "INSERT INTO $table ($var) VALUES ($val)";  
$val = "";  
$var = "";  
$q->query($query);  
echo "NO. $NO $query<p>";  
$NO++;  
}  
fclose($fp);  
}  

}  
}  
?>  

PHP 相关文章推荐
PHP-MySQL教程归纳总结
Jun 07 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Jun 23 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
Oct 30 PHP
Codeigniter的dom类用法实例
Jun 26 PHP
详解PHP的Yii框架中扩展的安装与使用
Apr 01 PHP
php错误日志简单配置方法
Jul 11 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
Oct 10 PHP
PHP基于socket实现客户端和服务端通讯功能
Jul 13 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
PHP PDOStatement::rowCount讲解
Feb 01 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 PHP
PHP中一个控制字符串输出的函数
Oct 09 #PHP
PHP用户指南-cookies部分
Oct 09 #PHP
PHP 存取 MySQL 数据库的一个例子
Oct 09 #PHP
如何跨站抓取别的站点的页面的补充
Oct 09 #PHP
截获网站title标签之家内容的例子
Oct 09 #PHP
怎样在PHP中通过ADO调用Asscess数据库和COM程序
Oct 09 #PHP
怎样在php中使用PDF文档功能
Oct 09 #PHP
You might like
PHP自定义大小验证码的方法详解
2013/06/07 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
用YUI做了个标签浏览效果
2007/02/20 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
JQuery记住用户名和密码的具体实现
2014/04/04 Javascript
extjs 时间范围选择自动判断的实现代码
2014/06/24 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
浅谈Vue的基本应用
2016/12/27 Javascript
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
详解Python pygame安装过程笔记
2017/06/05 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
AC Lens:购买隐形眼镜
2017/02/26 全球购物
委托书怎么写
2014/07/31 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
办公室禁烟通知
2015/04/23 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
详解Nginx 工作原理
2021/03/31 Servers
python 逐步回归算法
2021/04/06 Python
用python批量解压带密码的压缩包
2021/05/31 Python