2016-04-21 73 views
-1

我試圖用PHP獲取SQL查詢來填充表單中的各個字段,以便他們可以由網站管理員進行編輯。這兩個領域是日期和時間。使用來自SQL查詢的日期時間數據來填充「輸入類型=時間」字段

我使用兩種輸入類型'日期'和'時間'。日期字段完美填充。時間字段空白。兩者的數據來自同一個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

你在那裏塞滿了一個完整的日期/時間字段? 'yyyy-mm-dd hh:mm:ss'不是有效的「時間」值,所以如果字段空白,不要感到驚訝。 –

+0

也缺少名言。 –

回答

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中進行了描述 - 實質上對於「日期」是YYYY-MM-DD,對於「時間」輸入是HH:MM:SS。方便的是,這正是MySQLs date()和time()函數產生的輸出(cp。http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html)。

+0

感謝vigo,這個解決方案非常完美。真的很感謝幫助! – bull

0

您可以使用SUBSTR函數來逃避之日起,chracters和只添加時間,或者你也可以嘗試使用的strtotime功能也將數據轉換鍵入您從查詢獲取和放它到田野,你需要

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

check the strtotime function here

此外,我不認爲這是一個INPUT TYPE = 「時間」,因此,檢查existsent輸入類型

+0

感謝您的替代方法,馬塞拉。我很感激幫助。輸入類型是一個有效的 - http://www.w3schools.com/html/html_form_input_types.asp – bull

+0

哦,這是正確的!,對不起! –