将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 XML备份Mysql数据库
May 27 PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
两个开源的Php输出Excel文件类
Feb 08 PHP
php引用传值实例详解学习
Nov 06 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
Jun 26 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
Nov 18 PHP
php内嵌函数用法实例
Mar 20 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
php实现当前页面点击下载文件的实例代码
Nov 16 PHP
PHP中TP5 上传文件的实例详解
Jul 31 PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 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+MYSQL实现用户的增删改查
2015/03/24 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
网页中的图片的处理方法与代码
2009/11/26 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
2011/08/28 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
js编写简单的聊天室功能
2017/08/17 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
2020/05/10 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python 除法小技巧
2008/09/06 Python
python 去除二维数组/二维列表中的重复行方法
2019/01/23 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
西班牙三叶草药房:Farmacias Trébol
2019/05/03 全球购物
《我的第一本书》教学反思
2014/02/15 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
医院党员公开承诺书
2014/08/30 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
2015年调度员工作总结
2015/04/30 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL
Python可视化神器pyecharts绘制水球图
2022/07/07 Python