ขอถามเกี่ยวกับการบันทึกวันที่ลงฐานข้อมูลคับ
โค๊ตวันที่ผมเป็นแบบนี้คับ
<select name="list">
<option value="day">วันที่</option>
<?
for($i=1;$i<=31;$i++){
?>
<option value="$i" >
<?=$i?></option>
<? } ?>
</select >
<select name="list">
<option value="mont">เดือน</option>
<? $t=array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤษจิกายน","ธันวาคม"); ?>
<?
for($i=0;$i<=12;$i++){
?>
<option value="$t" >
<?=$t[$i]?>
</option>
<? } ?>
</select >
<? if(!isset($y1)){$y1=date("Y")+543; }?>
<input name="year" type="text" id="year" size="6" maxlength="4" value="<? echo $y1;?>">
ไม่รู้ถูกรึป่าวนะคับ
ผมไม่รู้ว่าจะบันทึกลงฐานข้อมูลยังไง
ผิดตรงนี้แหละ น่าจะเป็น
<option value="<?php echo ($i + 1)?>">
เนื่อจากเดือนต้องเริ่มที่ 1
ค่าที่ได้จะเป็นตัวเลขที่ต้องการ ก็จะเอาไปต่อกันและเก็บใส่ db ได้เลย
$data = "$date-$mont-".($year - 543);
year ต้องลบด้วย 543 เนื่องจาก mysql เก็บเป็น คศ.
พอเปิดดูในฐานข้อมูลมันขึ้นเป็น 0000-00-00 คับ
แต่ตัวอื่นมันก้อบันทึกลงปกติอ่ะคับ
เปลียนเป็นแบบนี้รึเปล่าคับ
$data= ($year - 543)."-$mont-$day";
ผมเปลี่ยนแล้วยังไม่ได้อ่ะคับ
ถ้าถูกต้องแล้ว ก็มาดูที่ฟิลด์ที่บันทึกว่ามีรูปแบบอย่างไร....
ลอง Insert โดยใช้ query ดูก่อนโดยใช้ข้อมูลสมมุติตามที่ $data แสดงออกมา แล้วตรวจสอบว่าถูกต้องหรือเปล่า
ส่วนใหญ่น่าจะมีปัญหามาจากเรื่อง format นั่นแหละ เท่าที่เจอก็เรื่องข้อมูลมีเวลาติดมาด้วย
ขอบคุณมากๆๆๆที่ช่วยคับ