将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 相关文章推荐
批量修改RAR文件注释的php代码
Nov 20 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
PHP生成数组再传给js的方法
Aug 07 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
thinkPHP学习笔记之安装配置篇
Mar 05 PHP
Smarty foreach控制循环次数的一些方法
Jul 01 PHP
php实现生成验证码实例分享
Apr 10 PHP
Nginx环境下PHP flush失效的解决方法
Oct 19 PHP
Yii2表单事件之Ajax提交实现方法
May 04 PHP
lnmp安装多版本PHP共存的方法详解
Aug 02 PHP
PHP单例模式模拟Java Bean实现方法示例
Dec 07 PHP
解决Laravel自定义类引入和命名空间的问题
Oct 15 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数组去重复数据示例
2014/02/25 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
浅谈JavaScript正则表达式分组匹配
2015/04/10 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
Python判断有效的数独算法示例
2019/02/23 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
python是否适合网页编程详解
2019/10/04 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
中文系师范生自荐信
2013/10/01 职场文书
计算机专业推荐信范文
2013/11/20 职场文书
党校培训思想汇报
2014/01/03 职场文书
英语教学随笔感言
2014/02/20 职场文书
关于护士节的演讲稿
2014/05/26 职场文书
建设幸福中国演讲稿
2014/09/11 职场文书
初二学生评语大全
2014/12/26 职场文书
门卫岗位职责
2015/02/09 职场文书
2015年大学社团工作总结
2015/04/09 职场文书
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python
mysql 排序失效
2022/05/20 MySQL
mysql查看表结构的三种方法总结
2022/07/07 MySQL