10/10/2018, 10:54

Insert ngày tháng từ form sang CSDL

Mình tạo 1 form ngày tháng trong php gồm 3 list/menu: tháng, ngày, năm.
Nhưng sau khi chọn ngày tháng xong mình không biết insert ngày tháng từ 3 list đó vào CSDL như thế nào? Trường ngày tháng trong CSDL mình để kiểu DATE.
Các bạn giúp mình với. Many thanks!!!

Form ngày tháng mình tạo đây:

<?php
function make_calendar()
{
$month = array(1=>'t1','t2','t3','t4','t5','t6','t7','t8',' t9','t10','t11','t12');
echo '<select name = "month" onchange = "<?php $m=$month; ?>">';
foreach ($month as $key => $value)
{
echo "<option value = "$key">$value</option> ";
}
echo '</select> <select name = "day" onchange = "<?php $d=$day; ?>">';
for ($day = 1; $day<=31;$day++)
{
echo "<option value="$day">$day</option> ";
}
echo '</select> <select name = "year" onchange = "<?php $y=$year; ?>">';
$year = 1950;
while ($year <=2010)
{
echo "<option value = "$year">$year</option> ";
$year++;
}
echo '</select>';
}
echo '<form action = "dateform.php" method = "post">';
make_calendar();
echo '</form>';
?>
thuyduongcd viết 13:02 ngày 10/10/2018
Code:
echo '<select name = "month" onchange = "<?php $m=$month; ?>">';
Cậu học ở đâu cách viết này vậy?
jecssica viết 13:06 ngày 10/10/2018
ah, sorry, chỗ đấy là mình vừa thử, lúc đầu ko có 3 cái onchange() đó. mình quên chưa xóa. Bạn có biết làm cách nào insert ngày tháng vào CSDL ko giúp mình với. thanks!
thuyduongcd viết 13:03 ngày 10/10/2018
form submit qua trang dateform.php thì do trang này lấy dữ liệu.
Trong trang dateform.php, dùng $_POST['month'], $_POST['day'] và $_POST['year'] để lấy năm, tháng và ngày tương ứng.

Tuy nhiên, chỗ này
Code:
foreach ($month as $key => $value)
{
echo "<option value = \"$key\">$value</option>\n";
}
nên sửa thành
Code:
for ($i=1;$i<=12;$i++){
    echo "<option value=$i>Tháng $i</option>";
}
Sau khi đã lấy được day,month,year rồi thì gộp nó lại.
Code:
$datestring="$year-$month-$day";
$sql="INSERT INTO .... VALUES  ($datestring);
jecssica viết 13:03 ngày 10/10/2018
cảm ơn bạn đã giúp.
Mình cũng vừa làm được rồi.
bka viết 13:04 ngày 10/10/2018
uh .

đã làm đc chưa. hồi hộp quá
meoboorin viết 12:54 ngày 10/10/2018
mọi người cho mình hỏi, mình đã lấy được "day-month-year" (vì nó không báo lỗi nữa), nhưng kiểm tra CSDL thì vẫn là 0000-00-00 , ko biết sai chỗ nào. Mng xem giúp mình với !!!

-------------------------------------------------------------
<select name = "day">
<option selected = "Ngày">Ngày</option>
<?php
for ($i=1;$i<=31;$i++)
echo"<option value = ".$i.">".$i."</option>";
?>
</select>&nbsp;&nbsp;&nbsp;
<select name = "month">
<option selected = "Tháng">Tháng</option>
<?php
for ($i=1;$i<=12;$i++)
echo"<option value = ".$i.">".$i."</option>";
?>
</select>&nbsp;&nbsp;&nbsp;
<select name = "year">
<option selected = "Năm">Năm</option>
<?php
for ($i=1970;$i<=2005;$i++)
echo"<option value =".$i.">".$i."</option>";
?>
</select>
-------------------------------------------------------------

$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];
$ngaysinh = "$day-$month-$year";

$sql = "INSERT INTO $tbl_name(ngaysinh) VALUES ('$ngaysinh')";

$result = mysql_query($sql);

================================================== =====================

- Và còn 1 dòng này nữa, là ngày hiện hành, đưa vào CSDL thế nào vậy các bạn??

<input name="ngaydky" type="text" disabled value="<?php echo date ('d/m/Y'); ?>" size="15" readonly="true"/>

-----> $ngaydky = $_POST['ngaydky'];
$sql = "INSERT INTO $tbl_name(ngaydky) VALUES ('$ngaydky')";

$result = mysql_query($sql);
thuyduongcd viết 13:02 ngày 10/10/2018
Sửa dòng này:
$ngaysinh = "$day-$month-$year";
Thành:
Code:
$ngaysinh = "$year/$month/$day";
meoboorin viết 13:11 ngày 10/10/2018
Được gửi bởi thuyduongcd
Sửa dòng này:

Thành:
Code:
$ngaysinh = "$year/$month/$day";

Cám ơn bạn nhiều, mình đã làm được dòng này !!!

Bạn ơi, bạn chỉ giúp mình luôn cách đưa ngày hiện hành vào CSDL lun nha !!!

<input name="ngaydky" type="text" disabled value="<?php echo date ('d/m/Y'); ?>" size="15" readonly="true"/>
----->
$s = $_POST['ngaydky']; //Xuất 1 record NgayTT từ database khi đã thực hiện câu lệnh SQL.
$s1 = substr($s,0,4); //Lấy Năm
$s2 = substr($s,5,2); //Lấy Tháng
$s3 = substr($s,8,2); //Lấy Ngày
$ngay = mktime(intval($s3),intval($s2),intval($s1));
$ngaydky = date('Y/m/d',$ngay);

$sql = "INSERT INTO $tbl_name(date('Y/m/d', ngaydky)) VALUES ('date('Y/m/d', $ngaydky)')";
$result = mysql_query($sql);
thuyduongcd viết 13:09 ngày 10/10/2018
Code:
$sql="INSERT INTO table VALUES(NOW())"
Bài liên quan
0