更新记录的日期比较

时间:2016-08-17 07:58:21

标签: php mysql

我正在使用这个PHP函数从MySQL数据库中获取记录:

function someFunction($date){
    // all distinct records
    $query = "select count(distinct column_name) as alias from table_name where DATE(date_column) = '$date'";
    $result = $connection->query($query);
    $row = $result->fetch_assoc();
    return $row['alias'];
    // end of all distinct records
} 

现在,以下PHP代码的作用是,获取日期中的日期,计算它所属月份的星期,并将其存储为数组。

//while fetch_assoc returns records
//$result1 query: "select * from table_name where DATE(date) between '$first_date' and date_add('$end_date',interval 1 day)"

while ($row1 = $result1->fetch_assoc()) {
  $date = $row1['date'];
  $start = 1;
  $end = 7;
  for ($i = 1; $i <= 5; $i++) {
    if ((int) date('d', strtotime($date)) >= $start && (int) date('d', strtotime($date)) <= $end) {
      if (!isset($arr1[$i]) || !isset($arr2[$i])) {
        $arr1[$i] = 0;
        $arr2[$i] = 0;
      }
      ++$arr1[$i];

      $arr2[$i] = someFunction(date('Y-m-d', strtotime($date)));
    }
    $start += 7;
    $end += 7;
  }
}

考虑第1,第2和第3属于同一周,第1有3条记录,第2有4和第3有1. while循环将迭代7次,每个值由 someFunction()覆盖$arr2[$i]中的值。

所以我的问题是,我如何能够检查上一个迭代日期值是否等于当前日期值?

1 个答案:

答案 0 :(得分:0)

  

所以我的问题是,我如何能够检查上一个迭代日期值是否等于当前日期值?

伪代码:

$lastValue = …; // initialization with a value that does not occur in the actual values,
                // such as NULL, empty string, …

while(…) {
  if($currentValue == $lastValue) {
    // do something
  }
  else {
    // do something else
  }

  // …

  $lastValue = $currentValue; // set current value for next loop interation
}