2015-07-19 101 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