将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 读取shell管道传输过来的内容
Mar 01 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
Nov 22 PHP
学习php开源项目的源码指南
Dec 21 PHP
php随机取mysql记录方法小结
Dec 27 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
Jun 06 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
Jsonp劫持学习
Apr 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
解析coreseek for sphinx的使用
2013/06/21 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
PHP asXML()函数讲解
2019/02/03 PHP
页面中body onload 和 window.onload 冲突的问题的解决
2009/07/01 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
js multiple全选与取消全选实现代码
2012/12/04 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
Python文档生成工具pydoc使用介绍
2015/06/02 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
python多进程控制学习小结
2018/10/31 Python
解决Python使用列表副本的问题
2019/12/19 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
全球性的在线商店:Vogca
2019/05/10 全球购物
宣传保护环境的公益广告词
2014/03/13 职场文书
解除劳动合同证明书模板
2014/11/20 职场文书
会计岗位职责
2015/02/03 职场文书
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers