2015-07-19 106 views
-1
$sql = "SELECT * FROM post"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 

// output data of each row 
while($row = $result->fetch_assoc()) { 
if(strtotime($row['time']) > "00:00:00") { 
    $time = date('g:i A', strtotime($row['time'])); 
} else{ 
    $time = ''; 
} 
echo "<span class='infoTitle'>Time:</span> "."<span class='userInfo'>".$time."</span>"."<br>"; 
} 
} 

嘿傢伙,所以我有上面的代碼。我試圖做的是顯示一個空的字符串,其中時間:被回顯。所以,如果沒有時間輸入,那麼這是它應該是什麼樣子如果時間爲空顯示空字符串 - PHP/MySqli

Time: 

如果時間是由用戶輸入,那麼它應該顯示的時間,他輸入。例如,如果他在下午6點投入。

Time: 6:00 PM 

代碼當前正在做的是在用戶輸入時顯示正確的時間。但如果留空,則顯示:

​​

任何想法這是怎麼回事?上午12:00是默認值嗎?如果是這樣,我如何告訴PHP讓它顯示空白,如果它顯示?對不起,這裏總共PHP noob。僅僅1周時間。但它的樂趣!

回答

1

12:00 AM不是默認值,但strtotime()在失敗時返回FALSE。 False等於0.

date('g:i A',0)將返回上午12:00因爲它是時代的時間。 1970-01-01 00:00:00

爲了防止這種情況,你可以運行

if(strtotime($row['time'])>0){ 
    $time = date('g:i A', strtotime($row['time'])); 
} 
+0

嗯,遺憾的是它仍然顯示12:00 AM。你會建議的任何其他方法? –

+0

你能給我舉個例子說明你正在投入什麼樣的工作嗎? – Hedam