|
|
|
datetime ไม่เข้า เวลา import csv file เข้า mysql ต้อง set อะไรบ้างคะ |
|
|
|
|
|
|
|
Format ของ MySQL ที่จะ Import ต้องแปลงให้เป็น YYYY-MM-DD HH:mm:ss
|
|
|
|
|
Date :
2019-05-31 15:08:57 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาโค๊ดมาดูดีกว่าไหม ไม่รู้ว่าทำอะไรยังไง หลักการมันก็ตามที่ admin บอกนั้นแหล่ะครับ
ตัวอย่าง function วันที่ เพื่อจะได้ประโยชน์
Code (PHP)
function th_month($m, $opt='full'){
if($opt=='full'){
return array('',
'มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน'
,'กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'
)[$m*1];
}else{
return array('','ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.','ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.')[$m*1];
}
}
function th_day($d, $opt='full'){
if($opt=='full'){
return array('อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์')[$d];
}else{
return array('อ.','จ.','อ.','พ.','พฤ.','ศ.','ส.')[$d];
}
}
function th_d_m($dte,$opt='full'){
if(($dte = date('Y-m-d', strtotime($dte)))){
return (substr($dte,-2)*1) . ' ' . th_month( substr($dte, 5 , 2), $opt);
}return '';
}
function dmy2ymd($o){
$d = DateTime::createFromFormat('j/m/Y', $o);
return $d->format('Y-m-d');
}
function ymd2dmy($o){
$d = DateTime::createFromFormat('Y-m-d', $o);
return $d->format('d/m/Y');
}
function dte_th_2_en($th){
list($d,$m,$y)=explode('-',$th); return date('Y-m-d', mktime(0,0,0,$m,$d,$y-543));
}
function dte_en_2_th($en,$op='short'){
list($y,$m,$d)=explode('-',$en); $y+=543; $w=date('w',strtotime($en));
if($op == 'short'){ return $d.'-'.$m.'-'.$y;}
if($op == 'long'){ return th_d_m($en).' พ.ศ.'.$y;}
if($op == 'full-short'){ return th_day($w,'short').' '.th_d_m($en,'short').' '.substr($y,-2);}
if($op == 'full-long'){ return th_day($w).'ที่ '.th_d_m($en).' พ.ศ.'.$y;}
}
function isDate($d,&$m=null){
preg_match('/^(\d{4})-(\d{2})-(\d{2})/',$d, $m);
if(count($m)<4){ return false;}
if($m[1]<1900 || ($m[2]*1)<1 || ($m[2]*1)>12 || $m[3]<1){ return false; }
return true;
}
function DateGMT($d){
return gmdate('D, d M Y H:i:s T', $d);
}
function isThDate($d,&$ar=null){ return preg_match('/^(\d{2})[\/-](\d{2})[\/-](\d{4})/',$d, $ar);}
function isDMY($d,&$ar=null){ return preg_match('/^(\d{2})[\/-](\d{2})[\/-](\d{4})/',$d, $ar);}
function dmy($dte){
return preg_replace('/(\d{4})[\/-](\d{2})[\/-](\d{2})/','$3/$2/$1',$dte);
}
|
|
|
|
|
Date :
2019-05-31 15:44:40 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้า import จาก คห4 ยิ่งรูปแบบต้องเป๊ะ ยิ่งต้องใช้ YYYY-mm-dd ซึ่งเป็นรูปแบบสากล
ข้อมูลใน zip มันเป็นอะไร มาถามโดยไม่มีข้อมูลแล้วใครจะตอบได้ล่ะครับ
|
|
|
|
|
Date :
2019-05-31 16:16:22 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?php
mysqli_query($con, "SET NAMES 'utf8' ");
if(isset($_POST['submit'])){
$file=$_FILES['doc']['tmp_name'];
$ext=pathinfo($_FILES['doc']['name'],PATHINFO_EXTENSION);
if($ext=='xlsx'){
require('PHPExcel/PHPExcel.php');
require('PHPExcel/PHPExcel/IOFactory.php');
$obj=PHPExcel_IOFactory::load($file);
foreach($obj->getWorksheetIterator() as $sheet){
$getHighestRow=$sheet->getHighestRow();
for($i=0;$i<=$getHighestRow;$i++){
$primary_id=$sheet->getCellByColumnAndRow(0,$i)->getValue();
$secondary_id=$sheet->getCellByColumnAndRow(1,$i)->getValue();
$detail=$sheet->getCellByColumnAndRow(2,$i)->getValue();
$date=$sheet->getCellByColumnAndRow(3,$i)->getValue();
$price=$sheet->getCellByColumnAndRow(4,$i)->getValue();
$quantity=$sheet->getCellByColumnAndRow(5,$i)->getValue();
$unit=$sheet->getCellByColumnAndRow(6,$i)->getValue();
$license=$sheet->getCellByColumnAndRow(7,$i)->getValue();
$serial=$sheet->getCellByColumnAndRow(8,$i)->getValue();
$type=$sheet->getCellByColumnAndRow(9,$i)->getValue();
$contract_id=$sheet->getCellByColumnAndRow(10,$i)->getValue();
$Resp=$sheet->getCellByColumnAndRow(11,$i)->getValue();
$emp_id=$sheet->getCellByColumnAndRow(12,$i)->getValue();
$location=$sheet->getCellByColumnAndRow(13,$i)->getValue();
$picture=$sheet->getCellByColumnAndRow(14,$i)->getValue();
$status=$sheet->getCellByColumnAndRow(15,$i)->getValue();
if($primary_id!=''){
mysqli_query($con,"insert into asset(primary_id,secondary_id,detail,date,price,quantity,unit,license,serial,type,contract_id,Resp,emp_id,location,picture,status) values('$primary_id','$secondary_id','$detail','$date','$price','$quantity','$unit','$license','$serial','$type','$contract_id','$Resp','$emp_id','$location','$picture','$status')");
}
}
}
}else{
echo "Invalid file format";
}
}
?>
<form method="post" enctype="multipart/form-data">
<input type="file" name="doc"/>
<input type="submit" name="submit"/>
</form>
|
|
|
|
|
Date :
2021-03-10 03:01:08 |
By :
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอสอบถามหน่อยคะ import จาก excel แล้วพบว่าวันที่ไม่มาด้วยค่ะ ไม่ทราบว่าต้องประกาศอ่ะไรตรงไหนเพิ่มไม่ค่ะ รบกวนหน่อยนะคะ
|
|
|
|
|
Date :
2021-03-10 03:03:28 |
By :
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$date=$sheet->getCellByColumnAndRow(3,$i)->getValue();
ต้องรู้ก่อนว่า $date มี format แบบไหน จะได้แปลง ได้ถูก
|
|
|
|
|
Date :
2021-03-10 07:49:53 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นแบบ dd -mm-YYYY ตัวอย่าง 10/03/2564 แบบนี้คะ
|
|
|
|
|
Date :
2021-03-10 08:55:58 |
By :
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่าน คห 3 น่าจะนำไปใช้ได้ นะครับ มีฟังก์ชั่น dte_th_2_en อยู๋ ประยุกต์เอาหน่อย รูปแบบต่างกัน แต่วิธีการเหมือนกัน
ปรับซ้ายปรับขวา ก็น่าจะได้แล้ว
/ กับ - มันคนละตัวกันนะครับ ต้องแก้ให้ตรง
|
|
|
|
|
Date :
2021-03-10 09:27:20 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เมื่อเขียน function เสร๋จ เราจะประกาศ ให้ $date=$sheet->getCellByColumnAndRow(3,$i)->getValue(); ทราบได้ไงคะ ช่วยแก้ให้หน่อยได้ไม่คะ
|
|
|
|
|
Date :
2021-03-10 09:37:12 |
By :
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$date=dte_th_2_en($sheet->getCellByColumnAndRow(3,$i)->getValue());
|
|
|
|
|
Date :
2021-03-10 10:34:00 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณคะ แต่หนูเขียนอีกแบบหนึ่งก็ได้แล้วคะ ขอบคุณนะคะ แบบนี้ก็ได้ค่ะ
<?php
$con=mysqli_connect("");
mysqli_query($con, "SET NAMES 'utf8' ");
if(isset($_POST['submit'])){
$file=$_FILES['doc']['tmp_name'];
$ext=pathinfo($_FILES['doc']['name'],PATHINFO_EXTENSION);
if($ext=='xlsx'){
require('PHPExcel/PHPExcel.php');
require('PHPExcel/PHPExcel/IOFactory.php');
$obj=PHPExcel_IOFactory::load($file);
foreach($obj->getWorksheetIterator() as $sheet){
$getHighestRow=$sheet->getHighestRow();
for($i=0;$i<=$getHighestRow;$i++){
$primary_id=$sheet->getCellByColumnAndRow(0,$i)->getValue();
$secondary_id=$sheet->getCellByColumnAndRow(1,$i)->getValue();
$detail=$sheet->getCellByColumnAndRow(2,$i)->getValue();
// $date=$sheet->getCellByColumnAndRow(3,$i)->getValue();
$date = $sheet->getCellByColumnAndRow(3, $i)->getValue();
$date = PHPExcel_Style_NumberFormat::toFormattedString($date, "YYYY-M-D");
$price=$sheet->getCellByColumnAndRow(4,$i)->getValue();
$quantity=$sheet->getCellByColumnAndRow(5,$i)->getValue();
$unit=$sheet->getCellByColumnAndRow(6,$i)->getValue();
$license=$sheet->getCellByColumnAndRow(7,$i)->getValue();
$serial=$sheet->getCellByColumnAndRow(8,$i)->getValue();
$type=$sheet->getCellByColumnAndRow(9,$i)->getValue();
$contract_id=$sheet->getCellByColumnAndRow(10,$i)->getValue();
$Resp=$sheet->getCellByColumnAndRow(11,$i)->getValue();
$emp_id=$sheet->getCellByColumnAndRow(12,$i)->getValue();
$location=$sheet->getCellByColumnAndRow(13,$i)->getValue();
$picture=$sheet->getCellByColumnAndRow(14,$i)->getValue();
$status=$sheet->getCellByColumnAndRow(15,$i)->getValue();
if($primary_id!=''){
mysqli_query($con,"insert into asset(primary_id,secondary_id,detail,date,price,quantity,unit,license,serial,type,contract_id,Resp,emp_id,location,picture,status) values('$primary_id','$secondary_id','$detail','$date','$price','$quantity','$unit','$license','$serial','$type','$contract_id','$Resp','$emp_id','$location','$picture','$status')");
}
}
}
}else{
echo "Invalid file format";
}
}
?>
<form method="post" enctype="multipart/form-data">
<input type="file" name="doc"/>
<input type="submit" name="submit"/>
</form>
|
|
|
|
|
Date :
2021-03-10 12:36:09 |
By :
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|