当前位置: 首页 > 图文教程 > 网络编程 > PHP > 将OICQ数据转成MYSQL数据

PHP
PHP与MySQL开发中页面出现乱码的一种解决方法
在PHP里得到前天和昨天的日期的代码
PHP4和PHP5性能测试和对比 测试代码与环境
wordpress之wp-settings.php
PHP下几种删除目录的方法总结
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
海河写的 Discuz论坛帖子调用js的php代码
利用static实现表格的颜色隔行显示的代码
从一个不错的留言本弄的mysql数据库操作类
从MySQL数据库表中取出随机数据的代码
56.com视频采集接口程序(PHP)
php下实现伪 url 的超简单方法[转]
一些常用的php简单命令代码集锦
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
实现php加速的eAccelerator dll支持文件打包下载
使用 eAccelerator加速PHP代码的方法
pw的一个放后门的方法分析
php在线生成ico文件的代码
一个图形显示IP的PHP程序代码
[PHP]实用函数2

PHP 中的 将OICQ数据转成MYSQL数据


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 120 ::
收藏到网摘: n/a

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);
}
}
}
?>