将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去掉字符串的最后一个字符附substr()的用法
Mar 23 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
php指定函数参数默认值示例代码
Dec 04 PHP
浅谈PHP接收POST数据方式
Jun 05 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
Dec 10 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
Jul 23 PHP
PHP获取当前日期及本周一是几月几号的方法
Mar 28 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
php合并数组并保留键值的实现方法
Mar 12 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
May 01 PHP
深入分析PHP设计模式
Jun 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
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
php实现的mongodb操作类
2015/05/28 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
起点页面传值js,有空研究学习下
2010/01/25 Javascript
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
简单常用的幻灯片播放实现代码
2013/09/25 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
理解javascript对象继承
2016/04/17 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
python制作mysql数据迁移脚本
2019/01/01 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
python实现图片中文字分割效果
2019/07/22 Python
python递归下载文件夹下所有文件
2019/08/31 Python
详解python中docx库的安装过程
2019/11/08 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
静态变量和实例变量的区别
2015/07/07 面试题
节约每一滴水演讲稿
2014/09/09 职场文书
爱心捐款感谢信
2015/01/20 职场文书
项目战略合作意向书
2015/05/08 职场文书
golang中的空slice案例
2021/04/27 Golang
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers