以mktime格式与mysql分开获取日,月,年

时间:2012-08-23 20:18:42

标签: php mysql date mktime

我有一个用于在数据库中添加日期的mktime代码。此代码以mktime格式单独显示当前日期。

<?php function drawDateTimePicker() { ?>
<select name="day">
    <?php for($x=1;$x<=31;$x++) { ?>
        <option value="<?= $x ?>"<?= (date("j") == $x ? ' selected="selected"' : '') ?>><?= $x ?></option>  
    <?php } ?>
</select>
<select name="month">
    <?php for($x=1;$x<=12;$x++) { ?>
        <option value="<?= $x ?>"<?= (date("n") == $x ? ' selected="selected"' : '') ?>><?= date('m', mktime(0,0,0,$x)) ?></option> 
    <?php } ?>
</select>
<select name="year">
    <?php for($x=2009;$x<=2015;$x++) { ?>
        <option value="<?= $x ?>"<?= (date("Y") == $x ? ' selected="selected"' : '') ?>><?= $x ?></option>  
    <?php } ?>      
</select> / 
<select name="hour">
    <?php for($x=1;$x<=12;$x++) { ?>
        <option value="<?= $x ?>"<?= (date("H") == $x ? ' selected="selected"' : '') ?>><?= $x ?></option>  
    <?php } ?>
</select>   

此代码将日期插入数据库字段$ row ['birthdate']

我想在修改页面时显示日期格式$ row ['birthdate']数据。 在此代码中每次显示当前日期,不匹配数据库中的数据

如何从数据库中检索数据并在修改页面中显示?

由于

决议是

<?php function drawDateTimePicker($mktimedata) { ?>

<select name="day">

    <?php for($x=1;$x<=31;$x++) { ?>

        <option value="<?= $x ?>"<?= (date("j",$mktimedata) == $x ? ' selected="selected"' : '') ?>><?= $x ?></option>    

    <?php } ?>

</select>

<select name="month">

    <?php for($x=1;$x<=12;$x++) { ?>

        <option value="<?= $x ?>"<?= (date("n",$mktimedata) == $x ? ' selected="selected"' : '') ?>><?= date('m', mktime(0,0,0,$x)) ?></option>    

    <?php } ?>

</select>

<select name="year">

    <?php for($x=2009;$x<=2015;$x++) { ?>

        <option value="<?= $x ?>"<?= (date("Y",$mktimedata) == $x ? ' selected="selected"' : '') ?>><?= $x ?></option>    

    <?php } ?>        

</select>

drawDateTimePicker($ date_in_database);

1 个答案:

答案 0 :(得分:0)

date([format])为您提供实际日期。如果您想要未来或过去的日期,您可以使用日期([格式],“过去日期的时间()”);例如:

date("Y", mktime(0, 0, 0, 12, 32, 1997));

要从数据库中分割日期,您可以使用以下内容:

$mydate = explode("-", $row["birthdate"]);
date("Y", mktime(0, 0, 0, $mydate[1], $mydate[2], $mydate[0]);

更多示例:http://de2.php.net/manual/de/function.mktime.php

或者你用MySQL分割它:

select YEAR(birthday) as y, MONTH(birthday) as m, DAY(birthday) as d FROM table

并使用     $ row [“y”],$ row [“m”]和$ row [“d”]

<select name="day">
    <?php for($x=1;$x<=31;$x++) { ?>
        <option value="<?= $x ?>"<?= (date("j", mktime(0, 0, 0, $mydate[1], $mydate[2], $mydate[0]) == $x) ? ' selected="selected"' : '') ?>><?= $x ?></option>  
    <?php } ?>
</select>

OR

<select name="day">
    <?php for($x=1;$x<=31;$x++) { ?>
        <option value="<?= $x ?>"<?= ($row["d"] == $x) ? ' selected="selected"' : '') ?>><?= $x ?></option>  
    <?php } ?>
</select>