PHP Ionic Angular Phonegap AJAX Javascript CSS MySQL jQuery Forum


SQL datetime

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา SQL datetime

SQL datetime
***Controller***
$qRecruit = $this->db->query($sql);
$rowRecruit = $qRecruit->row();
$rowRecruit = (array) $rowRecruit;
		
foreach($rowRecruit as $key => $val){	
	switch($key){
	        case 'birthday': $this->convertYeartoShow($val); break;	
		case 'idcard_start_date': $this->convertYeartoShow($val); break;
		case 'idcard_expire_date': $this->convertYeartoShow($val); break;
		case 'graduate': $this->convertYeartoShow($val); break;
		default: break;
	}
	$data[$key]=$val;
}
$this->load->view('recruitment/registerApp',$data);
------------------------------------------------------------------------------------------------------
***View***
<input id="birthday"  name="birthday" value="<?php echo $birthday; ?>" type="text" />
------------------------------------------------------------------------------------------------------
ตอนเลือกวันที่จะเป็นแบบนี้ 

ก่อนบันทึกลงฐานข้อมูลนำไปconvertเป็นค.ศก่อนบันทึก(สามารถบันทึกได้)
แต่พอจะselectข้อมูลเพื่อมาโชว์ในหน้าวิว(ต้องการให้ผู้ใช้แก้ไขข้อมูล) กลับขึ้นแบบนี้

>>นำไปconvert แล้วที่ convertYeartoShow แต่ก็ยังขึ้นแบบตอนselect

อยากทราบว่าผิดพลาดที่ขั้นตอนไหนครับ
ปล.function ที่convert ดัดแปลงมาจากบทความนี้ครับ
แนวทางการจัดรูปแบบข้อความวันที่ ให้อยู่ในรูปแบบมาตรฐาน ใน php
http://www.ninenik.com/content.php?arti_id=802 via @ninenik


โดย:  Zephyrzeez IP: 1.20.143.xxx วันที่: 24-08-2017 เวลา: 08:58:29

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ สามารถทำการ สมัครสมาชิก และล็อกอิน ด้วย ปุ่ม Log in with Facebook ด้านล่าง )
 ความคิดเห็นที่ 1
  แนะนำไม่ถูกเหมือนกัน คงต้องลองไล่ลำดับการทำงานอย่างละเอียด หรือเช็คซ้ำๆ หลายครั้ง
เท่าที่ดูๆ ก็น่าจะอยู่ในขั้นตอนการเรียกใช้ การบันทึก เช็คกลับไปทีละจุด ก็น่าจะเจอ


โดย:  Ninenik IP: 183.88.67.xxx วันที่: 24-08-2017
 ความคิดเห็นที่ 2
ลอง var_dump หลังforeach loop แล้ว ค่าที่ดึงมาจากsql อยุ่ในรูปแบบเดียวกันคือ "1989-08-12 00:00:00.000"
กะลังสงสัยว่ามันมีปัญหาตรง switch case ที่ส่งค่าไป convert รึเปล่า


โดย:  Zephyrzeez IP: 1.20.143.xxx วันที่: 24-08-2017 เวลา: 10:03:37
 ความคิดเห็นที่ 3
อาจจะมีปัญหาที่ตอนพาไปconvert ที่ convertYeartoShow
function convertYeartoShow($yearDB)
	{	/*
		$Y = substr($yearDB,0,4);
		$Y += 543;
		$m = substr($yearDB,5,2);
		$d = substr($yearDB,8,2);
		$yearDB_new = implode("-",array($d,$m,$Y));
		return $yearDB_new;
		*/
		/*
		list($date,$time) = explode(" ",$yearDB);
		list($Y,$m,$d) = explode("-",$date);
		$Y += 543;
		$yearDB_new = implode("-",array($d,$m,$Y));
		return $yearDB_new;
		*/
		
		list($date,$time) = explode(" ", $yearDB);
		$arr_data = explode("-", $date);
		$Y = $arr_data[0]+543;
		$m = $arr_data[1];
		$d = $arr_data[2];
		$dateNew = implode("-",array($d,$m,$Y));
		return $dateNew;
	}
ช่วยดูหน่อยครับว่า ผิดตรงไหน


โดย:  Zephyrzeez IP: 1.4.246.xxx วันที่: 24-08-2017 เวลา: 14:19:07