WEB开发网
开发学院WEB开发PHP 将OICQ数据转成MYSQL数据 阅读

将OICQ数据转成MYSQL数据

 2000-12-12 11:41:43 来源:WEB开发网   
核心提示:This file is /tmp/phpBeoJQ5 .# You can copy this code to test #<?include("include/dbclass.inc"); //可以用 MySQL.INC 类代替测试$q = new DB_Sql;$db = $q->
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); 
} 

} 
} 
?> 

Tags:OICQ 数据 MYSQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接