[英]Date format within if statement in a while loop in php and mysql displays as 1st Jan, 1970
我的代碼從數據庫中獲取日期。 如果返回的日期為NULL,我希望將其顯示為00-00-0000或Nothing而不是1970年1月1日。這是我的代碼:
<?php
while($row=mysql_fetch_array($res))
{
$date_paid="";
if ($date_paid == NULL) {
$date_paid = $row['date_paid'];
} else{
$date_paid = date("jS M, Y", strtotime($row['date_paid']));
}
echo "<tr><td>$date_paid</td></tr>";
}
?>
使用MySQL IF
或DATE_FORMAT
Select *,
IF(date_paid IS NULL, '00-00-0000', DATE_FORMAT(NOW(),'%D %b, %Y'))
date_paid From table
或其他選項將此==
更改為此,因為===
是比較類型或值兩者
if ($date_paid === NULL) {
簡單的解決方案...
while($row = mysql_fetch_array($res)){
if(empty($row['date_paid']) || $row['date_paid']==='0000-00-00'){
$row['date_paid'] = '00-00-0000';
} else {
$row['date_paid'] = date("jS M, Y", strtotime($row['date_paid']));
}
echo $row['date_paid'];
}
或內聯..
while($row = mysql_fetch_array($res)) {
$row['date_paid'] = empty($row['date_paid']) ? '00-00-0000' : date("jS M, Y", strtotime($row['date_paid']));
echo $row['date_paid'];
}
變得如此簡單:
$date_paid = $row['date_paid']
? date("jS M, Y", strtotime($row['date_paid']))
: '00-00-0000';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.