2016-08-17 60 views
0

我得到記錄:日期比較,以從MySQL數據庫與此PHP函數更新記錄

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; 
    } 
} 

考慮第一,第二和第三屬於同一周,第一有3個記錄,第二有4個和第3具有1 while循環將迭代7次,由someFunction返回的每個值()覆蓋$arr2[$i]中的值。

所以我的問題是,我將如何能夠檢查以前的迭代日期值是否等於當前的日期值?

回答

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 
}