2012-04-01 82 views
0

嗨我想在我有一個字段上使用日期選擇器。我試圖設置日期字段,以便用戶只能在數據庫中的日期值設置爲deafault(0000-00-00)時編輯此字段。如果有一個值不等於默認值,我想顯示創建的日期。PHP如果日期等於那麼

這裏是我試圖代碼:

  if($post['Date'] = var_dump(checkdate(00, 00, 0000))){ 
      echo "<input type=\"text\" class=\"datepicker\" name=\"pDate\" style=\"border:#000099; margin:10px;\" value=\""; 
      echo $post['Date']; 
      echo "\"> <input id=\"start_dt\" class=\"datepicker\">"; 
      } 
      if($post['Date'] != var_dump(checkdate(00, 00, 0000))){ 
      echo "<span>date created: </span>"; 
      echo $post['Date']; 

      } 

它不是ATM工作,所以任何幫助或在正確的方向點將是巨大的。 請同時考慮到我沒有添加任何適當的樣式,所以我只是在功能幫助後。

非常感謝。

+1

['var_dump()'](http://php.net/manual/en/function.var-dump.php)不會做你認爲它做的事情。 – 2012-04-01 09:30:39

+0

不要以這種方式使用var_dump()... var_dump()是開發人員的調試語句,不是向最終用戶顯示數據的方法,也不是解析測試的值的方法 – 2012-04-01 09:30:57

+0

var_dump用於調試輸出變量並不返回任何東西。因此,對於'$ post ['Date'] = var_dump(...)''你將'null'賦值給'$ post ['Date']'和'null'賦值爲'false',所以你的條件永遠不會被滿足。 – Basti 2012-04-01 09:31:03

回答

1

var_dump()用於調試目的而不是內部條件表達式。接下來,使用=爲其分配值而不是檢查。您正在分配的var_dump()結果值$post['Date']所以他們改變==

你應該嘗試的東西像這樣

if($post['Date'] == checkdate(00, 00, 0000)){ 
     echo "<input type=\"text\" class=\"datepicker\" name=\"pDate\" style=\"border:#000099; margin:10px;\" value=\"".$post['Date']"\">"; 
     echo "<input id=\"start_dt\" class=\"datepicker\">"; 
    } else { 
     echo "<span>date created: </span>"; 
     echo $post['Date']; 
    } 
+0

@Downvoter,我的代碼有問題嗎? – Starx 2012-04-01 09:39:47

2
  1. 你不想使用var_dump()。但是如果你告訴我們$post['Date']價值的結構,這將會有所幫助。

  2. 你想用==,不=你的第一個if聲明。你應該比較而不是分配(a)價值。

  3. 第二個if聲明可以更改爲else

  4. 只是檢查,但你的意思是$_POST['Date']而不是$post['Date']

+0

我正在運行查詢以從數據庫中獲取日期,基本上我想要做的是如果(((我的數據庫日期)等於(默認日期)){做某事... – huddds 2012-04-01 09:40:18

0

不需要發明什麼: $post['Date'] == '0000-00-00'

此外,你應該使用NULL,而不是默認在大多數情況下。

相關問題