1
       This is my table
       +----+---------------+
       | id | payperiod     |
       +----+---------------+
       |  1 | Weekly        |
       +----+---------------+
       |  2 | Monthly       |
       +----+---------------+

クエリを使用して、Payperiod が Weekly の場合、将来の NextPaydate と SecondNextPaydate の 2 つの日付を表示する必要があります。

以下のようにphpコードで解決しました

$payperid = 'Weekly'; // value can be changed
if ($payperid == "Weekly") {
    $rand = rand(2,6);
    $diff = 7;
}
else if ($payperid=="Monthly") {
    $rand = rand(2,28);
    $diff = rand(30,31);    
}
$opt_in = date('Y-m-d');
$ed = strtotime($opt_in);

$paydate1_day   = date("d",mktime(date("H",$ed),date("i",$ed),date("s",$ed),date('m',$ed),date('d',$ed)+$rand,date('Y',$ed)));
$paydate1_month = date("m",mktime(date("H",$ed),date("i",$ed),date("s",$ed),date('m',$ed),date('d',$ed)+$rand,date('Y',$ed)));
$paydate1_year  = date("Y",mktime(date("H",$ed),date("i",$ed),date("s",$ed),date('m',$ed),date('d',$ed)+$rand,date('Y',$ed))); 
$paydate2_day   = date("d",mktime(date("H",$ed),date("i",$ed),date("s",$ed),date('m',$ed),date('d',$ed)+($diff),date('Y',$ed)));
$paydate2_month = date("d",mktime(date("H",$ed),date("i",$ed),date("s",$ed),date('m',$ed),date('d',$ed)+($diff),date('Y',$ed)));
$paydate2_year  = date("d",mktime(date("H",$ed),date("i",$ed),date("s",$ed),date('m',$ed),date('d',$ed)+($diff),date('Y',$ed)));

$nextpaydate = $paydate1_month / $paydate1_day / $paydate1_year 

$secondnextpaydate = $paydate2_month / $paydate2_day / $paydate2_year

mysqlクエリの使い方を教えてください(条件とランド関数の場合)

4

1 に答える 1