将OICQ数据转成MYSQL数据
发布时间:2020-03-21 00:05:06 所属栏目:PHP教程 来源:互联网
导读:将OICQ数据转成MYSQL数据
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); } } } ?> (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |