|
|
|
CSV TO SQL แบบ PHP โดยเลือก table แล้ว เลือก CSV ต้องเขียนยังใงให้มัน Import เข้าฐานข้อมูลได้เลยครับ |
|
|
|
|
|
|
|
พอดีผมลองดูโคด้ทีผมทำน้ะครับ ตือตรงหัวมันมี ชื่อฟิลด์อยู่น้ะครับเพราะเวลาดัมพ์ไฟล์จะดั้มพ์ยกชุดเลยครับ ขี้เกียจมาไล่ว่า ฟิลไหนเปลี่ยนหรือไม่รบกวนดูด้วยน้ะครับ ท่านผู้รู้
<html>
<head>
<style>
body { padding: 20px; font-size: 120%; }
label {color: #333; }
input { padding: 5px; }
textarea { padding: 5px; font-size: 10px; }
</style>
</head>
<body>
<?
require_once('ddb.php');
mysql_connect($host,$user,$password) or die("No Connect to host");
mysql_select_db($db) OR die ("No connect database");
?>
<form method="post" action="csvtosq.php">
<p>
<label for="table_name">UPLOAD CUSTOM CSV INSERT TO SQL</label>
</p>
<p>
<label for="table_name">Table name</label>
<br/>
<input size="40" type="text" name="table_name" <?php if (isset($_POST['table_name'])){echo "value=" .$_POST['table_name'];}?>>
<input type="reset" value="Clear" />
</p>
<label for="csv">CSV File (copy and paste from Excel into this textbox)</label><br/>
<textarea rows="20" cols="100" name="csv"><?php if (isset($_POST['csv'])) { echo $_POST['csv']; } ?></textarea><br/>
<input type="submit" value="Encode" />
<br/>
</form>
<?php
if (!isset($_POST['csv']) || !isset($_POST['table_name']))
{
exit();
}
// read lines
$lines = explode("\n", $_POST['csv']);
$field_line = array_shift($lines);
$field_names = explode("\t", $field_line);
$field_name_list = trim(implode(",", $field_names), "\r");
echo "<label for=\"foo\"> SQL commands: </label><br/>";
echo "<textarea rows=\"20\" cols=\"100\" name=\"foo\">";
foreach($lines as $line)
{
if (strlen(trim($line,"\r")) > 0)
{
$field_values = explode("\t", trim($line,"\r"));
$new_values = array();
foreach($field_values as $value)
{
$new_values[] = "'" . $value . "'";
}
$values = implode(",", $new_values);
$sql = "insert into " . $_POST['table_name'];
$sql .= " ($field_name_list) values ($values);\n";
echo $sql;
}
}
echo "</textarea>";
?>
</body>
</html>
Tag : - - - -
|
|
|
|
|
|
Date :
2009-07-17 12:11:16 |
By :
drago |
View :
1398 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ล้ะครับ สามารถ นำข้อมูล CSV เข้าฐานข้อมูลได้แล้วครับ โดยที่ไม่ต้องมานั่งกำหนด ฟิลด์ และ Array ให้เมื่อยมือ มีตั้ง980 กว่าฟิลด์
|
|
|
|
|
Date :
2009-07-22 18:10:49 |
By :
drago |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|