-3

すみません、質問にもっと情報を入れるべきでした

たとえば、mysql フィールドを参照する if ステートメントを作成する方法を見つけようとしています: if date ("D") = mysqlDateField

私は、ユーザーがフォーラムにリマインダーを入れて、設定した日に指定された電子メール アドレスに送信する小さなサイトを持っています。

曜日は、月、火、水などの形式で mysql データベースに保存されます。

ユーザーは複数の日を選択できるので、毎日のフィールドがあります(それが最善の方法かどうかはわかりません)

そのため、ユーザーが指定したリマインダー付きのメールを実行して送信する sendmail スクリプトがあります。

if ステートメントで現在の日とデータベース内の日を照合するようにしたい

データベースに保存されているものと一致するため、現在は日付(「D」)形式を使用しています

さまざまなフォーラムと w3schools を見回した後、私はこれを思いつきましたが、うまくいきません。

$result = mysql_query("SELECT * FROM users")or die(mysql_error());
$d = date ("D");

if (mysql_num_rows($result)==$d)

ありがとう

4

1 に答える 1

0

コード サンプルの前にいくつかの注意事項があります。

  • D と比較する日付を作成するのは良くありません。'Ymd' などのより便利な形式を使用してください。
  • 比較する日付は同じ形式でなければなりません (ymd と ymdhis の日付を比較しないでください)。そうしないと、一貫性のない結果が得られます。それらを使用する前に、日付を変換またはフォーマットしてください。
  • テーブルに対するワイルドカード クエリを介して多くの結果を受け取っているため、可能であれば SELECT * を避ける必要があります。

    foreach($result as $row){    
        if(strtotime($row['field_with_date']) == strtotime($d)){ } }
    
于 2012-07-12T12:20:35.750 に答える