รบกวนดูโค้ด เกี่ยวกับ date ให้ด้วยครับ

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

รบกวนดูโค้ด เกี่ยวกับ date ให้ด้วยครับ
function.php
<?
function displaydate($x){
	$thai_m=array('มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม');
	$date_array=explode("-",$x);
	$y=$date_array[0];
	$m=$date_array[1]-1;
	$d=$date_array[2];
	
	$m=$thai_m[$m];
	$y=$y+543;
	
	$displaydate='$d $m $y';
	return $displaydate;
}

?>




registerr.php

<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<?
$user_reg=$_POST[user_reg];
$pass_reg=$_POST[pass_reg];
$sex_reg=$_POST[sex_reg];
$email_reg=$_POST[email_reg];
$date_reg=$_POST[('Y-m-d')];

if($user_reg=='' or $pass_reg==''){
	echo'<h3>กรอกข้อมูลไม่ครบ</h3>'; exit();
}
include 'function.php';
if (!checkemail($email_reg)){
	echo'<h3>กรอกอีเมล์ไม่ถูกต้อง</h3>'; exit();
}
include 'connect.php';
$sql="SELECT * FROM tb_member where username='$user_reg'";
$result=mysql_db_query($dbname,$sql);
$num=mysql_num_rows($result);
if($num>0){
	echo'<h3>Username นี้มีผู้ใช้แล้ว</h3>'; exit();
}
$sql="INSERT INTO tb_member
values('','$user_reg','$pass_reg','$sex_reg','$email_reg','$date_reg')";
$result=mysql_db_query($dbname,$sql);
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_client=tis620");
mysql_query("SET character_set_connection=tis620");
if($result){
	echo'<h3>บันทึกข้อมูลเรียบร้อยแล้ว</h3>';
	echo"<a href='index.html'>คลิกเพื่อเข้าสู่ระบบสมาชิก</a>";
}else{
	echo'<h3>สมัคสมาชิกไม่สำเร็จ</h3>';
}
mysql_close();
?>

 

ปัญหาคือ  ใน database ตอนที่สมัครสมาชิก  มันเป็น  00-00-0000  อ่ะครับ

มันไม่อัพเดทวัน เดือน ปี ที่ user สมัครครับ



Norranun 04-08-2010 01:17:48

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

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


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


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1

ถ้าเข้าใจไม่ผิด หมายถึง insert วันที่ไม่ได้ หรือป่าว

ถ้าใช้ คงต้องให้ไปดูว่าวันที่ ที่ส่งไปบันทึกลงฐานข้อมูลเป็นแบบไหน หมายถึง มีรูปแบบที่ส่งเข้าไปเป็นแบบไหน เช่น 2010-08-04  หรือ 04-08-2010 หรือ อื่นๆ  จากนั้นให้ไปดูว่า field ในฐานข้อมูลเรากำหนดค่าเป็น อะไร เช่น เป็น varchar เป้น date หรือว่า datetime
varchar ข้อความไม่ฟิกรูปแบบ
date 0000-00-00
datetime 0000-00-00 00:00:00

นั้นหมายถึงรูปแบบที่ส่ง กับที่รับ ต้องเหมือนกัน 

แต่ดูจากโค้ด เหมือนจะผิด

บรรทัด
 

บรรทัด
$date_reg=$_POST[('Y-m-d')];  
// ใช้เป็น 
$date_reg=$_POST[date("Y-m-d")];
// หรือไม่ต้องไปรับค่ามา  แต่ใช้ค่าจากวันที่ปัจจุบันตอน insert เลยก็ได้
$sql="INSERT INTO tb_member   
46.values('','$user_reg','$pass_reg','$sex_reg','$email_reg','".date("Y-m-d")."')";   

 



ninenik 04-08-2010
 ความคิดเห็นที่ 2

ใช้ NOW() คับ อิอิ



amdev 04-08-2010 12:02
 ความคิดเห็นที่ 3

เปลี่ยน field นั้นเป็น type time stamp ก็ได้เหมือนกันนะครับจะได้ไม่ต้องไปกังวลกับโค๊ตมากนัก



nightmare 04-08-2010 12:06
 ความคิดเห็นที่ 4

ขอบคุณครับ

จะลองดูครับ



norranun 04-08-2010 13:57
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ