Я пытаюсь получить SQL-запрос с помощью PHP для заполнения различных полей в форме, чтобы их мог редактировать администратор сайта. Эти два поля - дата и время.

Я использую два типа ввода: «дата» и «время». Поле даты заполняется идеально. Поле времени становится пустым. Данные для обоих поступают из одного и того же 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']?>>

Я попытался удалить поле даты, чтобы посмотреть, будет ли оно работать, но оно все равно оказалось пустым. Мне не повезло с этим исследовать - большая часть контента, который я нахожу, предназначена для обновления БД данными datetime. Я ищу противоположное (вроде).

Любая помощь была бы признательна.

-1
bull 21 Апр 2016 в 21:11

2 ответа

Лучший ответ
//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 - по сути, это ГГГГ-ММ-ДД для "даты" и ЧЧ: ММ: СС для "времени". Удобно, что это в точности выходные данные MySQL функции date () и time () yield (cp. http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html ).

0
vigo 21 Апр 2016 в 19:02

Вы можете использовать функцию substr, чтобы избежать символов даты и добавить только время, или вы также можете попробовать использовать функцию strtotime , чтобы преобразовать тип данных, которым вы являетесь получить из запроса и поместить его в нужные вам поля

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

проверьте функцию strtotime здесь

Также я не думаю, что существует input type = "time", поэтому проверьте существующие отправленные типы ввода

0
Marcela Flores 21 Апр 2016 в 18:38