将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新手上路(四)
Oct 09 PHP
php 处理上百万条的数据库如何提高处理查询速度
Feb 08 PHP
php中使用explode查找某个字符是否存在的方法
Jul 12 PHP
关于Zend Studio 配色方案插件的介绍
Jun 24 PHP
PHP字符串的递增和递减示例介绍
Feb 11 PHP
修改ThinkPHP缓存为Memcache的方法
Jun 25 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
Aug 21 PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 PHP
PHP+Mysql无刷新问答评论系统(源码)
Dec 20 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 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 Http_Template_IT类库进行模板替换
2009/03/19 PHP
php $_SERVER当前完整url的写法
2009/11/12 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
php函数式编程简单示例
2019/08/08 PHP
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
vue中路由验证和相应拦截的使用详解
2017/12/13 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
Python教程之全局变量用法
2016/06/27 Python
Python实现图片添加文字
2019/11/26 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
websocket+sockjs+stompjs详解及实例代码
2018/11/30 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
最新计算机专业自荐信
2013/10/16 职场文书
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
领导证婚人证婚词
2014/01/13 职场文书
党员公开承诺书和承诺事项
2014/03/25 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
白酒代理协议书范本
2014/10/26 职场文书
中学生逃课检讨书
2015/02/17 职场文书
主持人大赛开场白
2015/05/29 职场文书
运动会1000米加油稿
2015/07/21 职场文书
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript