使用SQL查询中的datetime数据填充“input type = time”字段

时间:2016-04-21 18:11:36

标签: php mysql datetime

我正在尝试使用PHP获取SQL查询以填充表单中的各个字段,以便网站管理员对其进行编辑。这两个字段是日期和时间。

我正在使用两种输入类型'date'和'time'。日期字段填充完美。时间字段显示为空白。两者的数据来自相同的SQL查询。我希望它们都能在每个字段的预期格式内显示。 (我正在使用Chrome,因为我知道所有浏览器都不支持字段类型。)

//Queries
        $pull_game = "select datetime, city, opponents.opponent_id, game_type, tourn_name, time, home_score, vis_score, day_of_week, month, day, year, parks.park_id, park, win, loss, tie, result from games, opponents, parks, tournaments where opponents.opponent_id = games.opponent_id and parks.park_id = games.park_id and tournaments.tourn_id = games.tourn_id and game_id= ".$_POST['game_id'] . ";";
        $game_stats = mysqli_query($con,$pull_game) or die("ERROR: $pull_game. ".mysqli_error());
        $game = mysqli_fetch_array($game_stats);

//Display data
        <input type='date' name='date' value=<?= $game['datetime']?>>
        <input type='time' name='time' value=<?= $game['datetime']?>>

我已经尝试删除日期字段以查看时间字段是否有效,但它仍然显示为空白。我没有运气研究这个 - 我发现的大部分内容都是用日期时间数据更新数据库。我正在寻找相反的(有点)。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用substr函数从日期中转义字符并仅添加时间,或者您也可以尝试使用 strtotime 函数来转换数据您从查询中获取的类型并将其放入您需要的字段

$date2=date('Y-m-d', strtotime($date));

check the strtotime function here

我也不认为有输入类型=&#34;时间&#34;因此,请检查存在的输入类型

答案 1 :(得分:0)

//Queries
        $pull_game = "select date(datetime) as d, time(datetime) as t, city, ..."

//Display data
        <input type='date' name='date' value=<?= $game['d']?>>
        <input type='time' name='time' value=<?= $game['t']?>>

应该做的伎俩。 HTML5输入的有效日期和时间格式在https://www.w3.org/TR/html5/infrastructure.html#dates-and-times中描述 - 基本上它是&#34;日期&#34;的YYYY-MM-DD,以及HH:MM:SS&#34;时间& #34;投入。方便的是,这正是输出MySQL的date()和time()函数的产生(cp。http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html)。