簡體   English   中英

以mktime格式與mysql分別獲取日,月,年

[英]Get Day, Month, Year separately from mysql in mktime format

我有一個將日期添加到數據庫的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);

date([format])給您實際的日期。 如果您想要將來的日期或過去的日期,可以使用date([format],“過去的日期的time()”)來完成。 例如:

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

要從Databse中拆分日期,您可以使用以下方法:

$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>

要么

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM