文章详情页
将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);;;};;};;};;?>;;
排行榜