将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 相关文章推荐
第六节 访问属性和方法 [6]
Oct 09 PHP
PHP 彩色文字实现代码
Jun 29 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
浅谈php优化需要注意的地方
Nov 27 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
使用PHP实现下载CSS文件中的图片
Dec 06 PHP
PHP实现的构造sql语句类实例
Feb 03 PHP
ZendFramework2连接数据库操作实例
Apr 18 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
Apr 02 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 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
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
php xhprof使用实例详解
2019/04/15 PHP
js 目录列举函数
2008/11/06 Javascript
URL地址中的#符号使用说明
2011/02/12 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
Php多进程实现代码
2018/05/07 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
python 实现简单的FTP程序
2019/12/27 Python
Python持续监听文件变化代码实例
2020/07/22 Python
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
求职推荐信
2013/10/28 职场文书
电子商务应届生求职信
2013/11/16 职场文书
后备干部推荐材料
2014/12/24 职场文书
贫困生助学金感谢信
2015/01/21 职场文书
营业员岗位职责范本
2015/04/14 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
辞职离别感言
2015/08/04 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
MySQL七大JOIN的具体使用
2022/02/28 MySQL
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android