将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 相关文章推荐
第十二节 类的自动加载 [12]
Oct 09 PHP
学习php笔记 字符串处理
Oct 19 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
php实现微信扫码自动登陆与注册功能
Sep 22 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
php微信公众号开发之翻页查询
Oct 20 PHP
laravel Validator ajax返回错误信息的方法
Sep 29 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的call_user_func传reference引发的思考
2010/07/23 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
js 小贴士一星期合集
2010/04/07 Javascript
Javascript处理DOM元素事件实现代码
2012/05/23 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
jquery编写日期选择器
2017/03/16 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
Python 3.x 新特性及10大变化
2015/06/12 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
python读取Excel实例详解
2018/08/17 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
创建市级文明单位实施方案
2014/03/01 职场文书
yy生日主持词
2014/03/20 职场文书
家长会标语
2014/06/24 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
《画家和牧童》教学反思
2016/02/17 职场文书
MySQL提升大量数据查询效率的优化神器
2022/07/07 MySQL