将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 n个不重复的随机数生成代码
Jun 23 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
Sep 16 PHP
curl实现站外采集的方法和技巧
Jan 31 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
Apr 10 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
PHP开发框架laravel安装与配置教程
Mar 13 PHP
PHP处理postfix邮件内容的方法
Jun 16 PHP
PHP中Array相关函数简介
Jul 03 PHP
php判断是否为ajax请求的方法
Nov 29 PHP
CodeIgniter框架数据库基本操作示例
May 24 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
Jun 05 PHP
Laravel5框架添加自定义辅助函数的方法
Aug 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验证复选框有效性的示例
2013/11/13 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
javascript call和apply方法
2008/11/24 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
利用纯js + transition动画实现移动端web轮播图详解
2017/09/10 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
js实现移动端轮播图滑动切换
2020/12/21 Javascript
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
后勤主管工作职责
2013/12/07 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
施工安全员岗位职责
2015/04/11 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
Python读取和写入Excel数据
2022/04/20 Python