将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 相关文章推荐
substr()函数中文版
Oct 09 PHP
5.PHP的其他功能
Oct 09 PHP
destoon各类调用汇总
Jun 20 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 PHP
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
May 12 PHP
php中PDO方式实现数据库的增删改查
May 17 PHP
jquery+php实现导出datatables插件数据到excel的方法
Jul 06 PHP
thinkphp框架下实现登录、注册、找回密码功能
Apr 06 PHP
CI框架中类的自动加载问题分析
Nov 21 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
PHP操作XML中XPath的应用示例
Jul 04 PHP
PHP解决高并发问题
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
php实现的SESSION类
2014/12/02 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
PHP7新增函数
2021/03/09 PHP
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
2018/05/03 Javascript
JavaScript常见事件处理程序实例总结
2019/01/05 Javascript
javascript Canvas动态粒子连线
2020/01/01 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
Python内建数据结构详解
2016/02/03 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
浅谈python3中input输入的使用
2019/08/02 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
新闻记者实习自我鉴定
2013/09/19 职场文书
电脑饰品店的创业计划书
2014/01/21 职场文书
党课知识竞赛主持词
2014/04/01 职场文书
社区清明节活动总结
2014/07/04 职场文书
师德师风整改措施
2014/10/24 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
党员个人党性分析材料
2014/12/18 职场文书
优秀团员自我评价
2015/03/10 职场文书
国博复兴之路观后感
2015/06/02 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers