0
私のコード関数は、範囲を選択した年で/からtoまでのすべての値を取得します。選択した年の日付をすべて取得するにはどうすればいいですか?
私は、ユーザーが2つのドロップダウンから1つの年を選択することができます。しかし、ツアーには選択された年よりも小さい/大きい両方のシーズンがある場合、私はバグがあります。例:
へ/からシーズンを選択:2015 -2016
from to
2011-05-06 2014-11-12 (not get - work)
2012-04-01 2015-12-31 (get - work)
2015-01-01 2016-08-10 (get - work)
2016-08-11 2018-12-28 (get - work)
2017-01-01 2018-01-01 (not get - work)
2014-01-11 2017-01-01 (I want get this too, because my selected year is 2015-2016)
マイコード:
$first_day = mktime(0, 0, 0, 1, 1, $params['seasonfrom']) ; //2015-01-01
$first_day = "'".date('Y-m-d',$first_day)."'";
$last_day = mktime(0, 0, 0, 12, 31, $params['seasonto']) ; //2016-12-31
$last_day = "'".date('Y-m-d',$last_day)."'";
$str1.="(ts.SsnFrom >= {$first_day} AND ts.SsnFrom <={$last_day}
OR ts.SsnTo >= {$first_day} AND ts.SsnTo <={$last_day})";
誰かが私に解決策.Thanksを与えることができます!
ご意見ありがとうございます。しかし、それは動作しません..私はチェックしたが、それは2シーズン(9-12-2014 - > 28-2-2015、01-10-2016 - > 01-01-2017)を取得するだけでなく、私のコードはこれを得ることができる-03-2015 - > 31-05-2015、01-09-2015 - > 02-01-2016、01-05-2016 - > 30-09-2016) – user3064132
DBで試したところ、すべての行が次のように返されました。あなたは期待した。このSQlfiddleを参照してくださいhttp://sqlfiddle.com/#!9/bbc556/1 – Ponnarasu
ありがとうございます。この条件を追加して固定:)) OR(ts.SsnFrom <= {$ first_day} AND ts.SsnTo> = {$ last_day}) – user3064132