0

データベースに日付を追加するための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);

4

1 に答える 1

0

date([format]) は、実際の日付を提供します。将来または過去の日付が必要な場合は、date([format], "time() of past Date"); で実行できます。例えば:

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

Date を 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>
于 2012-08-23T20:28:30.683 に答える