รบกวนสอบถามว่าการ import file จาก Excel เข้าฐานข้อมูลแล้ว ไม่เข้าในฐานข้อมุลครับ
รบกวนสอบถามว่าการ import file จาก ecxel เข้าฐานข้อมูลแล้ว ไม่เข้าในฐานข้อมุลครับ
คือเริ่มต้นจากหน้าเวป
หลังจากนั้นผมเลือกแฟ้มเพื่อ import เข้า database ผมได้แปลงเป็น csv แล้วดังภาพ
จะได้ไฟล์ ดังภาพ
จากนั้นมันจะฟ้องว่า
ซึ่งพอผมไปดูในฐานข้อมูลกลัลไม่มีไฟล์เช้ามาครับ
ผมรบกวนท่านผู้รู้หน่อยครับว่ามันเกิดอะไรขึ้นเหรอครับ
จากภาพนี้เป็นไฟล์ excel ที่ผมลองสร้างไว้ครับ
ด้านล่างเป็น source code ครับ
Code (PHP)
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<?
@include"pageload.php";
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="roverkid">
<META NAME="Keywords" CONTENT="ปปปปปปปปปปป ">
<META NAME="Description" CONTENT="ปปปปปปปปปปปปป">
<link rel="shortcut icon" href="images_k/gear.jpg" type="image/x-icon" />
<!--<link rel="icon" href="http://www.goragod.com/favicon.gif" type="image/gif" />-->
<title><? echo"$page_title"; ?></title>
<link rel="stylesheet" href="css/style.css"><base target="_self">
<!-- background = "images/bg.jpg"-->
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background: #e7dfec url(images/bg_edit.jpg) repeat-x;
}
-->
</style>
</head>
<body>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="1000">
<tbody><tr><!-- header-->
<td>
<?@include"header.php";?>
</td>
</tr>
<tr style="background-color:#FFF;"><!-- center-->
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tbody><tr>
<td background="1-2.jpg" valign="top" width="225"><!--ข้อมูลทางซ้าย-->
<?@include"leftzone0.php";?>
</td>
</tr>
</tbody></table>
<table border="0" cellpadding="0" cellspacing="0" width="225">
<tbody><tr>
<td><img src="images_k/left_line_dot.jpg"></td>
</tr>
</tbody></table>
<?@include"leftZone.php";?>
</td>
<td background="images_k/2-2.jpg" valign="top" width="28"><!--เงาทางซ้าย-->
<table border="0" cellpadding="0" cellspacing="0" width="28">
<tbody><tr>
<td background="images_k/2-1.jpg" width="28" height="350">
</td>
</tr>
</tbody>
</table>
</td>
<td valign="top" width="682" height="350">
<form enctype="multipart/form-data" action="import_test.php" method="post">
<p> </p>
<p><img src="images/dk1.jpg" width="200" height="60"></p>
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<input name="file" type="file" />
<input type="submit" value="Upload" />
</p>
</form>
<!--ข้อมูลตรงกลาง<img src="data_center.jpg">--></td>
<td background="images_k/3-2.jpg" valign="top" width="65" height="350"><!--เงาทางขวา-->
<table border="0" cellpadding="0" cellspacing="0" width="65">
<tbody><tr>
<td background="images_k/3-1.jpg" width="65" height="350">
</td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
<tr style="background-color:#FFF;"><!-- footer-->
<?@include"footer.php";?>
</tr>
</tbody></table>
</body>
</html>
มาอีกตัวครับ
import_test.php
Code (PHP)
<?php
if ( $_FILES['file']['error'] ) {
die("upload error ");
}
//======Connect DB======================//
$m_host = "localhost";
$m_user = "ปปปป";
$m_pass = "ปปปปป";
$m_name = "alumni";
mysql_connect($m_host,$m_user,$m_pass);
mysql_select_db($m_name);
mysql_query("SET NAMES UTF8");
//======End Connect DB======================//
//======Get data from Excel======================//
echo $filename=$_FILES["file"]["tmp_name"];
if($_FILES["file"]["size"] > 0)
{
$file = fopen($filename, "r");
//$sql_data = "SELECT * FROM prod_list_1 ";
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
{
//print_r($emapData);
//exit();
$sql = "INSERT into user_test(user_aluid,user_name,user_sername,user_name_en, user_surname_en,user_sec,user_grad,user_stu,user_st,user_address) values ('','".$emapData[0]."','".$emapData[1]."','".$emapData[2]."' ,'".$emapData[3]."','".$emapData[4]."','".$emapData[5]."','".$emapData[6]."','".$emapData[7]."','".$emapData[8]."','".$emapData[9]."')";
mysql_query($sql);
}
fclose($file);
echo 'CSV File has been successfully Imported';
}
else
echo 'Invalid File:Please Upload CSV File';
?>
รบกวนท่านผู้รู้หน่อยครับ ขอบคุณครับTag : PHP, MySQL, CakePHP
Date :
2014-09-25 09:26:24
By :
khoson
View :
1578
Reply :
18
echo $sql ออกมาแล้ว coppy ไป query ใน phpmyadmin ดูว่ามัน error ปะ
Date :
2014-09-25 14:28:11
By :
gaowteen
ลองเขียน sql แบบนี้ดู เอาจุดออกจะได้ไม่งง
$sql="INSERT INTO tb_group
(
id,
idg,
pname,
name,
lname,
school,
major,
genName,
genYear,
gs
)
VALUES
(
'$data[0]',
'$data[1]',
'$data[2]',
'$data[3]',
'$data[4]',
'$data[5]',
'$data[6]',
'$data[7]',
'$data[8]',
'$data[9]'
);";
หรือ
ต.ย.
https://www.thaicreate.com/php/php-upload-convert-import-csv-to-mysql.html
Date :
2014-09-25 15:09:30
By :
apisitp
ครับผมขอบคุณคัรบเดียวผมจะลองก่อนครับ
Date :
2014-09-25 15:34:48
By :
khoson
ลืมบอก!! อีกประเด็น ในเว็บนี้ละมี ต.ย. excel to mysql ลอง ค้นหา ดูครับ....
Date :
2014-09-25 15:44:05
By :
apisitp
ถ้าจะเอา excel อันนี้เลยครับ PHPExcel
Date :
2014-09-25 15:47:25
By :
gaowteen
ขอบคุณคัรบ
Date :
2014-09-25 18:06:21
By :
khoson
ผมลองทำตามตัวอย่างแล้วครับ
ตามนี้ครับ
แต่ภาษาที่ออกมาไม่ได้ครับแป็นแบบนี้ครับ
ถ้าเจอแบบนี้จะต้องแก้ปัญหาอย่างไรครับ
Date :
2014-10-07 21:03:28
By :
khoson
mysql_query("SET NAMES UTF8")
หลังจาก connect แล้ว ให้ รันอันนี้
Date :
2014-10-07 21:10:05
By :
gaowteen
สวัสดีครับ จากที่ทำด้านบนมาทั้งหมด สามารถ import ไฟล์ลงฐานข้อมูลได้ตามภาพครับ
แต่ปัญหาคือ ภาษาไทยไม่แสดงผลจากฐานข้อมูล ผลคือไม่แสดงอะไรตามรูปช่องทีว่างน่ะครับ
อันนี้คือจาก code ที่ทำครับ
Code (PHP)
<?php
move_uploaded_file($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV
$objConnect = mysql_connect("localhost","xxxx","xxxxxx") or die("Error Connect to Database"); // Conect to MySQL
$objDB = mysql_select_db("alumni");
$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
print_r($objCSV);
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
$strSQL = "INSERT INTO studentest";
$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);
echo $strSQL."<br>";
}
fclose($objCSV);
echo "Upload & Import Done.";
?>
และอันนี้คือจากไฟล์ csv ครับ
เห็นเพือนผมบอกว่า โค๊ดบรรทัดนี้ใช่ได้แล้วน่ะครับ
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
ตรงคำสั่ง fgetcsv ให้เปลี่ยนเป็น fopen
คิือผมต้องทำอย่างไหรครับขอความช่วยเหลือด้วยครับ ขอบคุณครับ
ประวัติการแก้ไข 2014-10-27 20:03:01
Date :
2014-10-27 18:02:35
By :
khoson
คำสั่งจาก คห8 มาใส่ต่อจากคำสั่งนี้ครับ
$objConnect = mysql_connect("localhost","staff","itkmutnb") or die("Error Connect to Database"); // Conect to MySQL
Date :
2014-10-27 18:08:46
By :
Chaidhanan
ขอบคุณมากคับ ผมจะลองทำดูครับ
Date :
2014-10-27 20:01:53
By :
khoson
ช่วยหน่อยครับ พอดีว่าจะ import ไฟล์เข้าไป แต่ว่าบรรทัดบนเป็นชื่อไฟล์ ต้องการเอาออกท้องแก้ตรงไหนครับ
Code (PHP)
<?php
if(!isset($_FILES["fileCSV"]) || $_FILES["fileCSV"]['error']){
echo 'File up load error';
}
move_uploaded_file($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]);
mysql_connect("localhost","root","1234") or die("Error Connect to Database");
mysql_query("SET NAMES UTF8");
mysql_select_db("Tod");
$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
$data = count($objArr);
$vl='';
for($i=0; $i<$data; $i++ ) $vl .= ( $vl>'' ? ' , ' : '' ) . " '$objArr[$i]' ";
$strSQL = 'INSERT INTO Tspc (SERIAL_NUM,HD,START_DATE,EQUIP_ID,LOT_ID,AMPLITUDE,ASYMMETRY,BARK_JMP,COIL_RES,HEATER_RES,HYST_PCT
,READER_HEATER_RES,RESISTANCE,SLOPE_AVG,SMANAMP_AVG,STATIC_WRITE_RES,TA_RESISTANCE,VALUE4)values ( '.$vl.' ) ';
$objQuery = mysql_query($strSQL) or die( $strSQL . "<br>\n" .mysql_error());
}
fclose($objCSV);
echo "Upload & Import Done.";
?>
Date :
2014-10-28 07:01:36
By :
<_>
ผมได้แก้ตามที่เอาคำสั่งความคิดเห็นที่ 8 มาใส่แล้วครับ ดังนี้ครับ
Code (PHP)
<b>
<?php
move_uploaded_file($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV
$objConnect = mysql_connect("localhost","xxxx","xxxxx") or die("Error Connect to Database"); // Conect toMySQL
mysql_query("SET NAMES UTF8")
$objDB = mysql_select_db("alumni");
$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
print_r($objCSV);
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
$strSQL = "INSERT INTO studentest";
$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);
echo $strSQL."<br>";
}
fclose($objCSV);
echo "Upload & Import Done.";
?>
<b>
แต่ผลการรันที่ได้คือ
Resource id #15INSERT INTO studentest(CustomerID,Name,Email,CountryCode,Budget,Used) VALUES ('aaaa','bbb','ccc' ,'ddd','eee','666')
INSERT INTO studentest(CustomerID,Name,Email,CountryCode,Budget,Used) VALUES ('','','' ,'','','')
INSERT INTO studentest(CustomerID,Name,Email,CountryCode,Budget,Used) VALUES ('aaaa','bbb','ccc' ,'ddd','eee','666')
INSERT INTO studentest(CustomerID,Name,Email,CountryCode,Budget,Used) VALUES ('','','' ,'','','')
Upload & Import Done.
เป็นช่องว่างอีกแล้วคัรบ มันเกิดจากอะไรเหรอครับ รบกวนท่านผู้เชียวชาญที่ครับ ขอบคุณครับ
ประวัติการแก้ไข 2014-10-28 10:28:45
Date :
2014-10-28 10:28:20
By :
khoson
ตรงนี้ผมติดจริงๆ ครับให้คนช่วยดูแล้วยังไม่ออกเลยครับรบกวนที่น่ะครับ
Date :
2014-10-28 16:45:40
By :
khoson
Date :
2014-10-28 17:16:19
By :
mr.win
พอใส่ตัวหนังสือที่เป็นภาษาไทย กลับไม่มีข้อมูลแต่เป็นช่องว่างครับผม
จากตัวที่กรอกแบบนี้ถือว่ากรอกผิดหรือเปล่าครับ
Date :
2014-10-28 18:34:16
By :
khoson
ใครพอจะทราบสาเหตุนี้บ้างไหมครับ ขอบคุณครับ
Date :
2014-10-29 09:09:52
By :
khoson
Code (PHP)
$sql = "insert .............."
$db->query(iconv('utf-8','tis-620',$sql))
//หรีอ
$db->query(iconv('tis-620','utf-8',$sql))
Date :
2014-10-29 13:18:40
By :
gaowteen
Load balance : Server 02