将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读写文件的方法(生成HTML)
Nov 27 PHP
wiki-shan写的php在线加密的解密程序
Sep 07 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
php引用传值实例详解学习
Nov 06 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 PHP
codeigniter显示所有脚本执行时间的方法
Mar 21 PHP
PHP生成指定随机字符串的简单实现方法
Apr 01 PHP
php生成二维码
Aug 10 PHP
PHP缓冲区用法总结
Feb 14 PHP
PHP实现大数(浮点数)取余的方法
Feb 18 PHP
Laravel 的数据库迁移的方法
Jul 31 PHP
PHP使用文件锁解决高并发问题示例
Mar 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函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
Vue的Eslint配置文件eslintrc.js说明与规则介绍
2020/02/03 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
es6函数之尾递归用法实例分析
2020/04/25 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
浅析Python中的多进程与多线程的使用
2015/04/07 Python
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
keras和tensorflow使用fit_generator 批次训练操作
2020/07/03 Python
Python持续监听文件变化代码实例
2020/07/22 Python
一份Java笔试题
2012/02/21 面试题
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
UDP协议功能
2013/01/06 面试题
医药工作者的求职信范文
2013/09/21 职场文书
求职简历中自我评价
2014/01/28 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
Python 绘制多因子柱状图
2022/05/11 Python