|
|
|
รวบกวนสอบถามโค้ด import ไฟล์ csv เข้า database หน่อยค่ะ มีปัญหาตรง วันที่ค่ะ |
|
|
|
|
|
|
|
คือ ข้อมูลตรงอื่นเข้าได้หมด แต่วันที่กลายเป็น 000-00-00 แต่ในไฟล์ CSV วันที่กำหนดไว้เป็น dd-mm-yyyy ทำไงดีค่ะให้สามารถนำวันที่เข้าไปได้ด้วยอ่ะค่ะ
Code (PHP)
<?php
move_uploaded_file($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV
$objConnect = mysql_connect("localhost","root","4911513002") or die("Error Connect to Database"); // Conect to MySQL
$objDB = mysql_select_db("db_isdss");
$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
$strSQL = "INSERT INTO data_sell_market ";
$strSQL .="(id,the_suite,the_suite_old,type_home,area,installments,name_th1,surname_th1,name_th2,surname_th2,name_eng1,date_book,date_contract,date_end_contract,price,deposit,loan_bank,sq_m,sale_adv,name_sale,bank_name,date_circulation,area_circulation,price_td13,career,repay,reized,bith_1,bith_2,notation,month,year,id_project) ";
$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]."' ";
$strSQL .=",'".$objArr[21]."','".$objArr[22]."','".$objArr[23]."' ";
$strSQL .=",'".$objArr[24]."','".$objArr[25]."','".$objArr[26]."' ";
$strSQL .=",'".$objArr[27]."','".$objArr[28]."','".$objArr[29]."' ";
$strSQL .=",'".$objArr[30]."','".$objArr[31]."','".$objArr[32]."') ";
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL);
}
fclose($objCSV);
echo "Upload & Import Done.";
?>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2015-01-09 10:57:12 |
By :
gungging302 |
View :
1256 |
Reply :
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2015-01-09 11:34:04 |
By :
gungging302 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปรับ format ให้ตรงกันครับ
ผมไม่รู้ว่าค่าวันที่ตรงกับ array ลำดับที่เท่าไหร่ ผมสมมติเอานะครับ คุณก็ไปหาเอาเองนะ
Code (PHP)
date('Y-m-d', strtotime($objArr[11])) //ปรับเป็นแบบนี้ก็น่าจะได้ครับ
เอาเต็มๆก็ได้
Code (PHP)
<?php
move_uploaded_file($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV
$objConnect = mysql_connect("localhost","root","4911513002") or die("Error Connect to Database"); // Conect to MySQL
$objDB = mysql_select_db("db_isdss");
$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
$strSQL = "INSERT INTO data_sell_market ";
$strSQL .="(id,the_suite,the_suite_old,type_home,area,installments,name_th1,surname_th1,name_th2,surname_th2,name_eng1,date_book,date_contract,date_end_contract,price,deposit,loan_bank,sq_m,sale_adv,name_sale,bank_name,date_circulation,area_circulation,price_td13,career,repay,reized,bith_1,bith_2,notation,month,year,id_project) ";
$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]."','".date('Y-m-d', strtotime($objArr[11]))."' ";
$strSQL .=",'".date('Y-m-d', strtotime($objArr[12]))."','".date('Y-m-d', strtotime($objArr[13]))."','".$objArr[14]."' ";
$strSQL .=",'".$objArr[15]."','".$objArr[16]."','".$objArr[17]."' ";
$strSQL .=",'".$objArr[18]."','".$objArr[19]."','".$objArr[20]."' ";
$strSQL .=",'".$objArr[21]."','".$objArr[22]."','".$objArr[23]."' ";
$strSQL .=",'".$objArr[24]."','".$objArr[25]."','".$objArr[26]."' ";
$strSQL .=",'".$objArr[27]."','".$objArr[28]."','".$objArr[29]."' ";
$strSQL .=",'".$objArr[30]."','".$objArr[31]."','".$objArr[32]."') ";
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL);
}
fclose($objCSV);
echo "Upload & Import Done.";
?>
|
ประวัติการแก้ไข 2015-01-09 12:01:48
|
|
|
|
Date :
2015-01-09 11:59:10 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาเข้าไปได้แต่ไม่ตรงกับ วันเดือนปีในเอกสารที่ import เข้าไปค่ะCode (PHP)
|
|
|
|
|
Date :
2015-01-09 13:17:58 |
By :
gungging302 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อย่างนี้คงต้องใช้ฟังก์ชันเสริม(มันน่าจะมีวิธีอื่นที่ดีกว่านี้ ตอนนี้คิดออกแค่นี้) อะไรที่เก็บเป็นวันที่ก็ใช้ฟังก์นี้ช่วยแปลงนะครับ
Code (PHP)
<?php
function formatDate($date){
$date = explode('-', $date);
switch ($date[1]) { //หาเดือน
case 'ม.ค.':
$m = '01';
break;
case 'ก.พ.':
$m = '02';
break;
case 'มี.ค.':
$m = '03';
break;
case 'ม.ย.':
$m = '04';
break;
case 'พ.ค.':
$m = '05';
break;
case 'ก.ค.':
$m = '06';
break;
case 'มิ.ย.':
$m = '07';
break;
case 'ส.ค.':
$m = '08';
break;
case 'ก.ย.':
$m = '09';
break;
case 'ต.ค.':
$m = '10';
break;
case 'พ.ย.':
$m = '11';
break;
case 'ธ.ค.':
$m = '12';
break;
}
$y = $date[2]+1957; //หาปี ค.ศ.
return date('Y-m-d', strtotime("$y-$m-$date[0]"));
}
move_uploaded_file($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV
$objConnect = mysql_connect("localhost","root","4911513002") or die("Error Connect to Database"); // Conect to MySQL
$objDB = mysql_select_db("db_isdss");
$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
$strSQL = "INSERT INTO data_sell_market ";
$strSQL .="(id,the_suite,the_suite_old,type_home,area,installments,name_th1,surname_th1,name_th2,surname_th2,name_eng1,date_book,date_contract,date_end_contract,price,deposit,loan_bank,sq_m,sale_adv,name_sale,bank_name,date_circulation,area_circulation,price_td13,career,repay,reized,bith_1,bith_2,notation,month,year,id_project) ";
$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]."','".formatDate($objArr[11])."' ";
$strSQL .=",'".formatDate($objArr[12])."','".formatDate($objArr[13])."','".$objArr[14]."' ";
$strSQL .=",'".$objArr[15]."','".$objArr[16]."','".$objArr[17]."' ";
$strSQL .=",'".$objArr[18]."','".$objArr[19]."','".$objArr[20]."' ";
$strSQL .=",'".$objArr[21]."','".$objArr[22]."','".$objArr[23]."' ";
$strSQL .=",'".$objArr[24]."','".$objArr[25]."','".$objArr[26]."' ";
$strSQL .=",'".$objArr[27]."','".$objArr[28]."','".$objArr[29]."' ";
$strSQL .=",'".$objArr[30]."','".$objArr[31]."','".$objArr[32]."') ";
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL);
}
fclose($objCSV);
echo "Upload & Import Done.";
?>
|
|
|
|
|
Date :
2015-01-09 14:35:03 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
บางอันคืออันนี้ใช่ไม๊ครับ 23-พ.ค.-09 อันนี้เป็นปี ค.ศ. อยู่(รึป่าว?) แต่ฟังก์ชันที่ผมให้ไปนั้นจะแปลงจาก ปี พ.ศ. เป็น ปี ค.ศ. ดังนั้นลองเขียนฟังก์ชันใหม่อีกอันนึงเพื่อมาแปลง 23-พ.ค.-09 เป็น 2009-05-23 ดัดแปลงเอาจากฟังก์ชั่นเดิมก็ได้ครับ ฝึกสมองนิดนึงๆ
|
|
|
|
|
Date :
2015-01-09 15:07:15 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|