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,027

HOME > PHP > PHP Forum > สอบถามเรื่อง code อัพโหลดไฟล์ excel ลงฐานข้อมูลค่ะ ไม่ทราบ่วาเขียนยังไงคะ



 

สอบถามเรื่อง code อัพโหลดไฟล์ excel ลงฐานข้อมูลค่ะ ไม่ทราบ่วาเขียนยังไงคะ

 



Topic : 060121



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



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




ตามหัวข้อเลยค่ะ แต่ขอแบบว่า
1. Excel 2003 หรือ 2007 ได้ทั้งสองรูปแบบ
2. ขอแบบไม่ต้องแปลง xls เป็น .csv หรือ .xml นะคะ
3. ลงฐานข้อมูลแต่ละช่องเลยครับ หลังจากคลิกอัพโหลด และแบบต่อกัน เช่น ไฟล์ abc.xls และ cde.xls เหมือนกัน ลง abc.xls ก่อน และ cde.xls เขียนต่อท้ายลงไปค่ะ
4. อีกอย่าง ถ้าอัพไฟล์ abc.xls ลงไปแล้ว และตามด้วย cde.xls แต่ถ้าไฟล์ cde.xls เกิดมีข้อมูลที่ต้องเปลี่ยนแปลง จะเอาออกเฉพาะข้อมูลใน cde.xls ยังไงคะ

รบกวนแค่นี้ค่ะ

ขอบคุณมาก ๆค่ะ



Tag : PHP, MySQL, HTML/CSS, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-05-12 16:31:41 By : thaimaster View : 2767 Reply : 13
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

แนะนำให้เป็น CSV จะดีกว่าน่ะครับ อ่านได้ดีกว่าเร็วกว่าด้วยครับ

Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & CSV To MySQL</title>
</head>
<body>
<?
copy($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV

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

$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
	$strSQL = "INSERT INTO customer ";
	$strSQL .="(CustomerID,Name,Email,CountryCode,Budget,Used) ";
	$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>
</body>
</html>


Go to : PHP Upload and Convert/Import CSV To MySQL Database


Go to : PHP Import Excel to MySQL Database (Excel.Application)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-12 21:38:49 By : webmaster
 


 

No. 2



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



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


พี่วินคะ เอา code มาให้ดู ส่วนที่เป็นตัวอัพโหลด ชื่อ

import.php
Code (PHP)
<form method=post action=Upload.php>
Upload : <input type=file name=fileCSV size=25><input type=submit value=Upload>
</form>


ส่งไปที่ไฟล์ Upload.php
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & CSV To MySQL</title>
</head>
<body>
<?
copy($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV

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

$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 5, ",")) !== FALSE) {
	$strSQL = "INSERT INTO customer ";
	$strSQL .="(cusid,name,email,code,budget,used) ";
	$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>
</body>
</html>



ฐานข้อมูล (excel) และตาราง (customer) ก็สร้าง cusid,name,email,code,budget,used แล้ว

รันแล้ว Error ว่า

Warning: fgetcsv() expects parameter 1 to be resource, boolean given in C:\AppServ\www\upload\Upload.php on line 13

Warning: fgetcsv() expects parameter 1 to be resource, boolean given in C:\AppServ\www\upload\Upload.php on line 13

Warning: fgetcsv() expects parameter 1 to be resource, boolean given in C:\AppServ\www\upload\Upload.php on line 13

Warning: fgetcsv() expects parameter 1 to be resource, boolean given in C:\AppServ\www\upload\Upload.php on line 13

Warning: fgetcsv() expects parameter 1 to be resource, boolean given in C:\AppServ\www\upload\Upload.php on line 13

ประมาณ 30 บรรทัดได้ค่ะ ไม่ทราบว่าผิดตรงไหน

ส่วนไฟล์ excel ได้เอาข้อมูลลงไปตามช่อง cusid,name,email,code,budget,used เรียบร้อยค่ะ
แต่ไม่แนใจว่า save as เป็น .csv ถูกหรอเปล่า เพราะใน Excel มีให้เลือก .CSV หลายตัว ต้องเลือกตัวไหนคะ และต้องจัดรูปแบบแท๊ปและชื่อไฟล์ของ Excel ยังไง

ขอบคุณมากนะคะ

เพิ่มเติมค่ะ ตรวจสอบตาราง customer มีเพิ่มเป็นประมาณพันแถวได้ค่ะ (เอาตัวเดิมของพี่วินมารัน) แต่ไม่มีข้อมูลแรในตารางเลย


ประวัติการแก้ไข
2011-05-12 23:51:04
2011-05-12 23:54:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-12 23:49:45 By : thaimaster
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

Quote:
enctype="multipart/form-data"


ลืมตรงนี้ครับ

<form action="phpCSVMySQLUpload.php" method="post" enctype="multipart/form-data" name="form1">
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-13 08:37:54 By : webmaster
 


 

No. 4



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



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


ตกลงเป็นผู้หญิงหรือผู้ชายครับ ทั้งค่ะ ทั้งครับ ป่นกันมัวไปหมด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-13 08:42:37 By : naskw
 


 

No. 5



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



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


ผู้หญิงค่ะ แต่ตอนพิมพ์ให้แฟนพิมพ์ให้ แต่ตอนมาปับแก้เพิ่มเติมสอบถาม มาเขียนเอง อ่านเองก็ยังสับสน อิอิ
คอนเฟิร์ม หญิงทั้งร่างกายและจิตใจจร้า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-13 11:36:33 By : thaimaster
 


 

No. 6



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



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


พี่วินคะ ตามที่ให้แก้ แก้ได้แล้วนะคะ
สอบถามเพิ่มเติมนะคะ ตาม code ด้านล่างอ่ะค่ะ
ตรง i_position มันไม่เพิ่มลงในตารางให้ คือ ไม่มีการเพิ่มให้ทั้งแถวเลยค่ะ แต่พอเอาออก ข้อมูลลงตารางให้ เฉพาะแค่ i_position ตัวเดียว ทั้ง ๆ ที่ไฟล์ csv ก็มีข้อมูลตรงนี้อยู่ เกิดจากสาเหตุใดคะ ช่วยทีนะคะ

Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & CSV To MySQL</title>
</head>
<body>
<?
copy($_FILES["filescsv"]["tmp_name"],$_FILES["filescsv"]["name"]); // Copy/Upload CSV

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

$objCSV = fopen($_FILES["filescsv"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
	$strSQL = "INSERT INTO salary";
	$strSQL .="(idcard,month,year,i_salary,i_psr,i_ppp,i_position) ";
	$strSQL .="VALUES ";
	$strSQL .="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."' ";
	$strSQL .=",'".$objArr[3]."','".$objArr[4]."','".$objArr[5]."') ";
	$strSQL .=",'".$objArr[6]."') ";
	$objQuery = mysql_query($strSQL);
}
fclose($objCSV);
echo "Upload & Import Done.";
?>
</table>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-13 13:42:50 By : thaimaster
 


 

No. 7



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



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


ดัน ช่วยทีค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-13 16:41:33 By : thaimaster
 


 

No. 8



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



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


พี่วินคะ ตามที่ให้แก้ แก้ได้แล้วนะคะ
สอบถามเพิ่มเติมนะคะ ตาม code ด้านล่างอ่ะค่ะ
ตรง i_position มันไม่เพิ่มลงในตารางให้ คือ ไม่มีการเพิ่มให้ทั้งแถวเลยค่ะ แต่พอเอาออก ข้อมูลลงตารางให้ เฉพาะแค่ i_position ตัวเดียว ทั้ง ๆ ที่ไฟล์ csv ก็มีข้อมูลตรงนี้อยู่ เกิดจากสาเหตุใดคะ ช่วยทีนะคะ

Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & CSV To MySQL</title>
</head>
<body>
<?
copy($_FILES["filescsv"]["tmp_name"],$_FILES["filescsv"]["name"]); // Copy/Upload CSV

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

$objCSV = fopen($_FILES["filescsv"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
	$strSQL = "INSERT INTO salary";
	$strSQL .="(idcard,month,year,i_salary,i_psr,i_ppp,i_position) ";
	$strSQL .="VALUES ";
	$strSQL .="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."' ";
	$strSQL .=",'".$objArr[3]."','".$objArr[4]."','".$objArr[5]."') ";
	$strSQL .=",'".$objArr[6]."') ";
	$objQuery = mysql_query($strSQL);
}
fclose($objCSV);
echo "Upload & Import Done.";
?>
</table>
</body>
</html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-13 18:56:47 By : thaimaster
 


 

No. 9



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



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ลองเปลี่ยนตรงนี้ดูนะครับ

Code (PHP)
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {

$strSQL = "insert into salary (idcard, month, year, i_salary, i_psr, i_ppp, i_position) values ('$objArr[0]', '$objArr[1]', '$objArr[2]', '$objArr[3]', '$objArr[4]', '$objArr[5]', '$objArr[6]')";

$objQuery = mysql_query($strSQL);
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-13 21:55:38 By : prach_kp
 


 

No. 10



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



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


พี่คะ ช่วยอีกทีนะคะ รันในเครื่อง (Asserv) ผ่านค่ะ แต่เอาขึ้น host จริงมันฟ้อง

Warning: copy(filecsv.csv) [function.copy]: failed to open stream: Permission denied Upload & Import Done.

บรรทัดที่ 7 ของไฟล์ import อ่ะค่ะ แก้ยังไงคะ

Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & CSV To MySQL</title>
</head>
<body>
<?
copy($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV

$objConnect = mysql_connect("localhost","mytb","123456") or die("Error Connect to Database"); // Conect to MySQL
$objDB = mysql_select_db("mydb");

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

$strSQL = "insert into salary (idcard, month, year, i_salary, i_psr, i_ppp, i_position) values ('$objArr[0]', '$objArr[1]', '$objArr[2]', '$objArr[3]', '$objArr[4]', '$objArr[5]', '$objArr[6]')";

$objQuery = mysql_query($strSQL);
}

fclose($objCSV);
echo "Upload & Import Done.";
?>
</table>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-15 19:13:02 By : thaimaster
 


 

No. 11



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


ไม่มีสิทธิ์ในการเขียนไฟล์ในโฟลเดอร์นั้นครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-15 21:27:03 By : PlaKriM
 


 

No. 12



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



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


แก้ได้แล้วค่ะ พบปัญหาเนื่องจากมีไฟล์ csv อยู่แล้วใน folder ที่อัพเข้าไป ถ้าอัพในชื่อเดิมอีกครั้ง จะขึ้น error ที่กล่าวไป แต่ถ้าลบไฟล์ csv ออก ไม่ขึ้น error อ่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-15 22:56:06 By : thaimaster
 


 

No. 13



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


แนะนำให้ใช้
unlink($_FILES["fileCSV"]["name"]);
หลังจาก
fclose($objCSV);

จะได้ไม่มีปัญหาอีก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-15 23:07:21 By : PlaKriM
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่อง code อัพโหลดไฟล์ excel ลงฐานข้อมูลค่ะ ไม่ทราบ่วาเขียนยังไงคะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่