[Tep-j-general] Re: 複数の価格帯を持つ商品の検索

Back to archive index

Fujimoto-Kru2krungthep.com fujim****@kru2k*****
2005年 10月 21日 (金) 14:25:14 JST


こんにちは。

はまださん、ありがとうございます。

さて、実際に複数の価格帯でチャレンジしています。
実はとある不動産サイトを構築中なのですが、


Aコンドミニアム
    1LDK 50000円
    1LDK 60000円
    2LDK 80000円


Bコンドミニアム
    1LDK 30000円
    1LDK 60000円
    2LDK 90000円


Cコンドミニアム
    1LDK 30000円
    2LDK 70000円
    2LDK 90000円


という感じで表示させています。ここまでは問題なかったのですが、
検索結果(advanced_search_result.php)でうまくいきません。


下記のように記述すると、たとえば、5万円から6万円までの物件と検索させたところ
余計な7万円の物件が検索結果で表示されたりします。
5〜6万円であれば、上記のAコンドミニアムとBコンドミニアムは
表示されていいのですが、Cコンドミニアムは検索でひっかかっても…
という感じです。



  if (DISPLAY_PRICE_WITH_TAX == 'true') {
    if ($pfrom) $where_str .= " and (pd.products_price * if(gz.geo_zone_id 
is null, 1, 1 + (tr.tax_rate / 100) ) >= " . $pfrom . ")";
    if ($pto)   $where_str .= " and (pd.products_price * if(gz.geo_zone_id 
is null, 1, 1 + (tr.tax_rate / 100) ) <= " . $pto . ")";
  } else {
    if ($pfrom) $where_str .= " and ((pd.products_rents >= " . $pfrom
 . ") or (pd.products_price2 >= " . $pfrom
 . ") or (pd.products_price3 >= " . $pfrom
 . ") or (pd.products_price4 >= " . $pfrom
 . ") or (pd.products_rents5 >= " . $pfrom
 . "))" ;
    if ($pto)   ($where_str .= " and (pd.products_rents <= " . $pto . 
")" )||
  ($where_str .= " and (pd.products_price2 <= " . $pto . ")" )||
  ($where_str .= " and (pd.products_price3 <= " . $pto . ")" )||
  ($where_str .= " and (pd.products_price4 <= " . $pto . ")" )||
  ($where_str .= " and (pd.products_price5 <= " . $pto . ")" ) ;
  }


どなたかご教授お願いいたします。



藤本@PHP、SQLの基本勉強ってどこでできますか 





Tep-j-general メーリングリストの案内
Back to archive index