SQL datetime
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา SQL datetime
SQL datetime
***Controller***
------------------------------------------------------------------------------------------------------
***View***
------------------------------------------------------------------------------------------------------
ตอนเลือกวันที่จะเป็นแบบนี้
![]()
ก่อนบันทึกลงฐานข้อมูลนำไปconvertเป็นค.ศก่อนบันทึก(สามารถบันทึกได้)
แต่พอจะselectข้อมูลเพื่อมาโชว์ในหน้าวิว(ต้องการให้ผู้ใช้แก้ไขข้อมูล) กลับขึ้นแบบนี้
![]()
>>นำไปconvert แล้วที่ convertYeartoShow แต่ก็ยังขึ้นแบบตอนselect
อยากทราบว่าผิดพลาดที่ขั้นตอนไหนครับ
ปล.function ที่convert ดัดแปลงมาจากบทความนี้ครับ
แนวทางการจัดรูปแบบข้อความวันที่ ให้อยู่ในรูปแบบมาตรฐาน ใน php
https://www.ninenik.com/content.php?arti_id=802 via @ninenik
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $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***
1 | < input id = "birthday" name = "birthday" value="<?php echo $birthday; ?>" type="text" /> |
ตอนเลือกวันที่จะเป็นแบบนี้
ก่อนบันทึกลงฐานข้อมูลนำไปconvertเป็นค.ศก่อนบันทึก(สามารถบันทึกได้)
แต่พอจะselectข้อมูลเพื่อมาโชว์ในหน้าวิว(ต้องการให้ผู้ใช้แก้ไขข้อมูล) กลับขึ้นแบบนี้
>>นำไปconvert แล้วที่ convertYeartoShow แต่ก็ยังขึ้นแบบตอนselect
อยากทราบว่าผิดพลาดที่ขั้นตอนไหนครับ
ปล.function ที่convert ดัดแปลงมาจากบทความนี้ครับ
แนวทางการจัดรูปแบบข้อความวันที่ ให้อยู่ในรูปแบบมาตรฐาน ใน php
https://www.ninenik.com/content.php?arti_id=802 via @ninenik

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

เท่าที่ดูๆ ก็น่าจะอยู่ในขั้นตอนการเรียกใช้ การบันทึก เช็คกลับไปทีละจุด ก็น่าจะเจอ

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

ความคิดเห็นที่
3
อาจจะมีปัญหาที่ตอนพาไปconvert ที่
convertYeartoShow
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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 ; } |
ช่วยดูหน่อยครับว่า ผิดตรงไหน

ขอบคุณทุกการสนับสนุน
![]()