2016-11-28 3 views
4

Я попытался это:Как установить значение для типа ввода 'datetime-local'?

<input type="datetime-local" value="<?php echo $row['Time']; ?>" class="date" name="start" REQUIRED> 

Как я могу установить значение этого поля ввода с данными из базы данных?
Это не работает!
Мне также нужно изменить.
Или использовать другой тип ввода? $ row ['Time']; из базы данных!

+0

Напишите, что в '$ строки [ 'Time' ]; ' –

+0

Вам нужно указать больше контекста, а не просто сказать« он не работает ». Каким образом это не работает? Что вы используете для обслуживания страницы? Какой веб-браузер вы используете? Что вы ожидаете увидеть? В каком примере/документации вы следовали, что привело вас к этому? – daphtdazz

+0

Проверьте мое решение, если оно будет работать, примите мой ответ :) Спасибо! –

ответ

5

Я не знаю exacly, что в $row['Time'], но оно должно быть следующим:

Определение

Действительная дата-время, как определено в RFC 3339 с этими дополнительные квалификационные данные:

  • буквальные буквы T и Z в силе даты/времени должны всегда в верхнем регистре
  • производство дата-fullyear вместо этого определяется как четыре или более цифр, представляющий число больше 0

Примеры

  • 1990-12-31T23: 59: 60Z
  • 1996-12-19T16: 39: 57-08: 00

Решение

Для создания RFC 3339 Формат в PHP вы можете использовать:

echo date('Y-m-d\TH:i:sP', $row['Time']); 

или по-другому:

echo date("c", strtotime($row['Time'])); 

В коде

Так что в вашем коде будет выглядеть следующим образом:

<input type="datetime-local" value="<?php echo date('Y-m-d\TH:i:sP', $row['Time']); ?>" class="date" name="start" REQUIRED> 

или

<input type="datetime-local" value="<?php echo date("c", strtotime($row['Time'])); ?>" class="date" name="start" REQUIRED> 

Руководство

Дополнительная информация может быть найдена here

+0

Он не заполняет значение, он работает только тогда, когда я делаю это: '' –

+0

Я вижу, что есть точка до секунды. Так что это может сработать: 'echo date ('Y-m-d \ TH: i: s', $ row ['Time']);' –

+0

Im не использует секунды, это все еще не работает. '' –

0

Я думаю, что его невозможно использовать в локальном поле ввода datetime.

<input type="datetime-local" value="18-11-2016 12:00" class="date" name="start" REQUIRED> 

Этот код не работает вообще.
Кто-нибудь известен с datetime-local как поле ввода?

+0

Вы можете ... но вы используете неправильный тип даты. Вы прочитали мой ответ? Там это ясно объяснено. Проверьте те «эхо», которые я написал для вас. –

1

это просто то, что и работает для меня первым преобразовать значение PHP в этот формат

<?php $datetime = new DateTime($timeinout[0]->time_in); ?> 

затем в значении HTML элемента ввода использовать этот формат

<input type="datetime-local" id="txt_time_in" placeholder="Time In" name="timein" value = "<?php echo $datetime->format('Y-m-d\TH:i:s'); ?>" class="form-control" /> 

это установит ваш значение для элемента ввода

1

Вы можете использовать

date('Y-m-d\TH:i'); //Example result: '2017-01-01T01:01' 

, если использовать \ T вместо T (не работает)

date('Y-m-dTH:i'); //Example result: '2017-01-01UTC01:01' 
0
$tripid=$_REQUEST['tripid']; 
$sql="SELECT * FROM tripdetails WHERE trip_id='".$tripid."'"; 
$trpresult=mysqli_query($connect,$sql); 
    if(mysqli_num_rows($trpresult)==1) 
    { 
     $trpdetails=mysqli_fetch_assoc($trpresult); 
    } 
$trpstartdate = substr_replace($trpdetails['trip_start_date'],T,11,0); 

$string = preg_replace('/\s+/', '', $trpstartdate); 

Это Html Часть

<input type="datetime-local" name="trip_start_date" id="cal" value="<?php echo $string?>">