バージョン選択

フォーラム

メニュー

オンライン状況

82 人のユーザが現在オンラインです。 (72 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 82
もっと...

サイト内検索

バグ報告 > その他 > 年代別集計の不具合について

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kiku
投稿日時: 2006/10/26 13:10
対応状況: −−−
新米
登録日: 2006/10/26
居住地:
投稿: 2
年代別集計の不具合について
環境に依存する部分ではありますが、年齢別集計部分にバグがあります。
lfBatOrderAge()関数内
forループ内
$start_date
$end_date
それぞれの値が環境によっては1970/01/01より以前の値になってしまうため
正しく動作しませんでした。
例えば生年月日に1970年より前の年を入力して集計するとお分かりになるか
と思います。

現在は以下のようにSQLで行うように修正してテストしたところ一応
正しく動作しています。


for($i = 0; $i <= $age_loop; $i++) {
    $start_age = $i * 10;
    $where = $base_where . " AND order_birth >= cast('$start_date' as date) -interval '$start_age year'";
    if($i < $age_loop) {
        $end_age = $start_age+9;
        $where = $where . " AND order_birth < cast('$end_date' as date) -interval '$start_age year'";
    }else{
        $where = $base_where . " AND order_birth < cast('$end_date' as date) -interval '$start_age year'";
        $end_age = 999;
    }
    lfBatOrderAgeSub($sql . $where, $start, $end, $start_age, $end_age, 1);
}

なお、上記修正は会員と非会員の2箇所を修正する必要があります。

あと、非会員の場合上記lfBatOrderAgeSub()関数に渡す引数で6番目の$memberフラグは0ではないでしょうか。

以上宜しくお願いいたします。
uehara
投稿日時: 2006/11/14 19:09
対応状況: −−−
EC-CUBE開発チーム
登録日: 2006/9/8
居住地:
投稿: 55
Re: 年代別集計の不具合について
>kiku様

ご報告ありがとうございます。

弊社の方で用意している環境では確認は出来なかったのですが、
確かに環境によって起こりうる可能性はありますね。

こちらkiku様が提案して頂いたようにSQLから取得するなどの対策
を考えさせて頂きたいと思います。

解決策まで提示頂き大変助かりました。
バージョンアップの際に合わせて対応させて頂きたいと思います。

どうぞ、これからもご協力宜しくお願い致します。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,856名です
総投稿数は109,989件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.