Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > PHP > PHP Forum > ถ้าจะ Import File CSV เข้าฐานข้อมูลแต่หลาย Table จะเขียนโค้ดเพิ่มยังไงครับขอตัวอย่างหน่อยครับ



 

ถ้าจะ Import File CSV เข้าฐานข้อมูลแต่หลาย Table จะเขียนโค้ดเพิ่มยังไงครับขอตัวอย่างหน่อยครับ

 



Topic : 129016



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์




คือผมมีไฟล์ CSV ที่ Export ออกมาจากโปรแกรมอื่นครับ ผมต้องการจะให้ข้อมูลเข้าตามฐานข้อมูลที่มีครับ TB_A,TB_B,TB_C รบกวนขอตัวอย่างหน่อยครับเพื่อเป็นแนวทาง

ตัวอย่างไฟล์ครับ
table

โค้ดนี้ Import File เข้าฐานข้อมูลแค่ TB_A อันเดียวครับ

Code
<?php
move_uploaded_file($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV

$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database"); // Conect to MySQL
$objDB = mysql_select_db("production_total");

$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
	$strSQL = "INSERT INTO tb_A ";
	$strSQL .="(id,Date,Sales,Payout,percent,Save) ";
	$strSQL .="VALUES ";
	$strSQL .="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."' ";
	$strSQL .=",'".$objArr[3]."','".$objArr[4]."','".$objArr[5]."' ";
	$objQuery = mysql_query($strSQL);
}
fclose($objCSV);

echo "Upload & Import Done.";

?>
</table>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-09-26 17:13:01 By : Lun2560 View : 2290 Reply : 9
 

 

No. 1



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


แค่ตัวอย่างก็ไม่สัมพันธ์กันแล้ว ตาราง a เห็นแค่ 4 คอลัมน์
ทำไมถึง insert 6 คอลัมน์ ได้ 0-5

เอาเป็นว่า 6 คอลัมน์ก็แล้วกัน
Code (PHP)
$strSQL_A = "INSERT INTO tb_A (id,Date,Sales,Payout,percent,Save) VALUES ";
$strSQL_B = "INSERT INTO tb_B (id,Date,Sales,Payout,percent,Save) VALUES ";
$first_rec = true;
while (($ar = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
	$strSQL_A .=($first_rec? '', ',')."('".$ar[0]."','".$ar[1]."','".$ar[2]."','".$ar[3]."','".$ar[4] ."','".$ar[5] ."' ";
	$strSQL_B .=($first_rec? '', ',')."('".$ar[6]."','".$ar[7]."','".$ar[8]."','".$ar[9]."','".$ar[10]."','".$ar[11]."' ";
	$first_rec=false;
}
$objQuery = mysql_query($strSQL_A);
$objQuery = mysql_query($strSQL_B);









ประวัติการแก้ไข
2017-09-27 09:34:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-26 20:12:40 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2017-09-26 20:12:40
รายละเอียดของการตอบ ::
ขอโทษครับพี่ผมตัดมาไม่ครบครับ ตารางแรกจะเป็นโค้ดและตารางสุดท้ายผมใส่เป็นเวลาที่เพิ่มข้อมูลครับพี่ไม่รู้ผมทำถูกไหมครับ
table2

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-27 09:08:04 By : Lun2560
 

 

No. 3



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


หมายถีง csv ที่แสดงผล คอลัมน์ มันอ้างอิง field ไหน ดูให้ถูกนะครับ
ผมแก้โค๊ดที่คห 2 นิดหน่อย ลองประยุกต์ ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-27 09:35:58 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 280 )
บทความ ( 0 )



สถานะออฟไลน์


พี่ Chaidhanan หรือพี่คนไหนที่มีเวลา ผมรบกวนหน่อยครับ คือผมมีไฟล์ที่เป็น .CSV แบบนี้ละครับจะเพิ่มยังไงครับ
ในดาต้าเบจผมจะให้เก็บ
Tabledata
AAA
BBB
CCC
DDD ไปถึง VVV แบบนี้ได้ไหมครับ

อันนี้ไฟล์ที่ที่เป็น .CSV ครับ
ตาราง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-29 15:11:58 By : เด็กก่อสร้าง
 


 

No. 5



โพสกระทู้ ( 280 )
บทความ ( 0 )



สถานะออฟไลน์


ฐานข้อมูลเก็บแบบนี้ครับไม่รู้ถูกไหม คือจุดประสงค์คือต้องการ Import File เข้าดาต้าเบจแล้วดึงข้อมูลยอดรวมแต่ละวันออกมาโชว์เฉยๆครับ

ตาราง2
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-29 15:38:03 By : เด็กก่อสร้าง
 


 

No. 6



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


ตารางออกแบบถูกหรือเปล่า เบื้องต้นก็ต้องบอกว่าใช้ได้ครับ แต่ควรตั้งชื่อให้สื่อความหมายของข้อมูลด้วย

เช่น
A_machine
B_shift
C_department
......

เวลานำเข้า เอาเฉพาะบันทัดที่เป็นข้อมูลจริงๆ เข้า(5-8, 15-18)
ก็ใช้ if ตรวจสอบว่าเป็น บันทัดใช้งานหรือไม่ ค่อยนำเข้า db

Code (PHP)
if( preg_match('/^[A-Z0-9]*$/',$cell(0)){
    //insert
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-29 16:24:10 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 280 )
บทความ ( 0 )



สถานะออฟไลน์


พอดีติดตรงนี้เหมือนกันค่ะพี่รบกวนขอโค้ดตัวอย่างแบบใช้งานจริงได้ไหมคะ ขอบคุณค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-02 08:46:25 By : แอม
 


 

No. 8



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : แอม เมื่อวันที่ 2017-10-02 08:46:25
รายละเอียดของการตอบ ::

ลองเอาโค้ดนี้ไปใช้ดูครับผมลองแล้วได้
Code
<html>
<head>
<title>Test PHP & CSV To MySQL</title>
<!--<meta http-equiv=Content-Type content="text/html; charset=tis-620"> -->
</head>
<body>
<?php
move_uploaded_file($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV

$objConnect = mysql_connect("localhost","root","") or die("Error Connect to Database"); // Conect to MySQL
$objDB = mysql_select_db("test");
mysql_query("SET NAMES TIS620");

$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {

$strSQL = "INSERT INTO test_a ";
$strSQL .="(AAA,BBB,CCC,DDD,EEE,FFF,GGG,HHH,III,JJJ,KKK,LLL,MMM,NNN,OOO,PPP,QQQ,RRR,SSS,TTT,UUU,VVV) ";
$strSQL .="VALUES ";
$strSQL .="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."' ";
$strSQL .=",'".$objArr[3]."','".$objArr[4]."','".$objArr[5]."' ";
$strSQL .=",'".$objArr[6]."','".$objArr[7]."','".$objArr[8]."' ";
$strSQL .=",'".$objArr[9]."','".$objArr[10]."','".$objArr[11]."' ";
$strSQL .=",'".$objArr[12]."','".$objArr[13]."','".$objArr[14]."' ";
$strSQL .=",'".$objArr[15]."','".$objArr[16]."','".$objArr[17]."' ";
$strSQL .=",'".$objArr[18]."','".$objArr[19]."','".$objArr[20]."','".$objArr[21]."') ";
$objQuery = mysql_query($strSQL);
}


fclose($objCSV);

echo "อัพโหลดไฟล์เข้าฐานข้อมูลสำเร็จ !!!";
?>

</table>
</body>
</html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-05 10:23:39 By : Lun2560
 


 

No. 9



โพสกระทู้ ( 85 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2017-09-29 16:24:10
รายละเอียดของการตอบ ::
มันขึ้น error บรรทัดนี้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-05 10:25:24 By : Lun2560
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถ้าจะ Import File CSV เข้าฐานข้อมูลแต่หลาย Table จะเขียนโค้ดเพิ่มยังไงครับขอตัวอย่างหน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่