2012-04-01 11 views
0

の場合は、こんにちは私は持っているフィールドにdatepickerを使用しようとしています。データベースの日付値がdeafault(0000-00-00)に設定されている場合にのみ、ユーザーがこのフィールドを編集できるように、日付フィールドを設定しようとしています。デフォルトと同じでない値がある場合は、作成された日付を表示したいと思います。それはATM働いていない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']; 

      } 

ので、任意のヘルプまたは右方向へのポイントは素晴らしいことだ:

は、ここで私がしようとしているコードです。 また、私は適切なスタイリングを追加していないので、私はその機能の助けを借りて覚えています。

多くのありがとうございます。

+1

['var_dump()'](http://php.net/manual/en/function.var-dump.php)は、あなたが思うとは思いません。 –

+0

このようにvar_dump()を使用しないでください... var_dump()は開発者のデバッグ文です。エンドユーザにデータを表示したり、テストの場合は値を解析したりする方法ではありません –

+0

'var_dump'はデバッグ出力用です変数を返し、何も返しません。だから '$ post ['Date'] = var_dump(...)'は '$ post ['Date']'に 'null'を割り当て、' null'は 'false'を評価するので、条件は決して満たされません。 – Basti

答えて

1

var_dump()は、条件式の中ではなくデバッグ目的で使用されます。次に、=を使用すると、チェックされていない値が割り当てられます。あなたはあなたがあなたがvar_dump()を使用したくないこの

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

2
  1. のようなものにしようとしなければならない==

    に変更し$post['Date']var_dump()結果の値を代入しています。しかし、あなたが$post['Date']という値の構造を教えてくれれば助けになるでしょう。

  2. ifの文にはではなく、==を使用します。あなたは、(a)値を(a)値と比較するのではなく、比較しなければなりません。

  3. 第2のifの文は、elseに変更できます。

  4. ただチェックしますが、$post['Date']ではなく$_POST['Date']を意味しますか?

+0

私はデータベースから日付を取得するためにクエリを実行していますが、基本的には((データベースの日付)が(デフォルトの日付)と等しい場合{何か...} – huddds

0

何を発明する必要はありません: $post['Date'] == '0000-00-00'

また、あなたは、ほとんどの場合、代わりにデフォルトのNULLを使用する必要があります。