質問 > 管理機能 > 管理画面 商品検索 検索ワードを含める |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dondon |
投稿日時: 2015/1/28 9:22
対応状況: −−−
|
一人前 登録日: 2012/2/23 居住地: 投稿: 136 |
管理画面 商品検索 検索ワードを含める 管理画面の商品検索で以前もスレッドを立てたのですが、
新たに必要な検索パターンがあり、質問致します。 仕様 PHP Version 5.3.3 MYSQL EC-CUBE 2.11.4 管理画面の商品を検索する際、 商品登録の際、設定した 「検索ワード ※複数の場合は、カンマ( , )区切りで入力して下さい」 を検索に含めるには何と記述すれば良いでしょうか。 メインコメントの場合は、以前 main_comment LIKE ? とご教授頂きましたが、検索ワードをヒットさせる記述がわかりません・・・。 よろしくお願いいたします。 |
yuh |
投稿日時: 2015/1/28 11:03
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 管理画面 商品検索 検索ワードを含める 検索ワードはcomment3です。
|
dondon |
投稿日時: 2015/1/28 11:20
対応状況: −−−
|
一人前 登録日: 2012/2/23 居住地: 投稿: 136 |
Re: 管理画面 商品検索 検索ワードを含める 早速の回答ありがとうございます。
// 分割したキーワードを一つずつwhere文に追加 foreach ($names as $val) { if ( strlen($val) > 0 ) { $where .= " AND name ILIKE ? OR comment3 ILIKE ?"; $arrValues[] = sprintf('%%%s%%', $val); $arrValues[] = sprintf('%%%s%%', $val); } } break; この様にして検索ワードもヒットしました。 もう一点お願いします。 この状態だとキーワード複数入れた場合、「キーワードのどちらかがヒットしたら」よいう状態みたいなのですが、 複数条件全てに合致したものだけヒットさせるにはどうしたら良いでしょうか。 現在 「りんご バナナ」で検索 → 「りんご」ヒット 「バナナ」ヒット 「りんご バナナ」ヒット 希望している動作 「りんご バナナ」で検索 → 「りんご」ヒットしない 「バナナ」ヒットしない 「りんご バナナ」ヒット ご教授頂けませんでしょうか。 |
dondon |
投稿日時: 2015/1/28 11:32
対応状況: −−−
|
一人前 登録日: 2012/2/23 居住地: 投稿: 136 |
Re: 管理画面 商品検索 検索ワードを含める 度々すみません・・・
なんとか自己解決できました。 下記の通りです。 元々 // 分割したキーワードを一つずつwhere文に追加 foreach ($names as $val) { if ( strlen($val) > 0 ) { $where .= " AND name ILIKE ? OR comment3 ILIKE ?"; $arrValues[] = sprintf('%%%s%%', $val); $arrValues[] = sprintf('%%%s%%', $val); } } break; 完成 // 分割したキーワードを一つずつwhere文に追加 foreach ($names as $val) { if ( strlen($val) > 0 ) { $where .= " AND (name ILIKE ? OR comment3 ILIKE ?)"; $arrValues[] = sprintf('%%%s%%', $val); $arrValues[] = sprintf('%%%s%%', $val); } } break; $where .= " AND 部分を( )で囲んだら希望の動作になりました。 以上、報告まで |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |