バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 絞り込み検索

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2008/3/21 22:42
対応状況: −−−
絞り込み検索
EC-CUBEバージョン 1.4.6
PHPバージョン PHP 5.2.5
DBバージョン MySQL 5.0.51a-community-nt

検索のボックスをいくつか作り、
絞り込み検索の機能を稼働させたいのですが上手くいきません。

list.phpをいじっているのですが、
単純にボックスを二つに増やしても、
片方に入力したワードの検索結果しか出す事が出来ません。

二つの検索ワードを検索結果に出るようには出来たのですが、
肝心の検索結果に反映されているのが片方だけという現状です。

EC-CUBEで構築された企業サイトを見ると実現しているので
可能かと思ったのですが、自分の力が及ばず実装する事が出来ません。

どなたかお力添え宜しくお願い致します。
nanasess
投稿日時: 2008/3/23 6:17
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2314
Re: 絞り込み検索
商品の AND 検索でしょうか.

下記は参考になりますか?
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?forum=5&post_id=4922&topic_id=1488
ゲスト
投稿日時: 2008/3/24 16:26
対応状況: −−−
Re: 絞り込み検索
レスありがとうございます。
検索に関するフォーラムは、一通り目を通したつもりです。
以前にその記事の項目を適用しても、特に変化はありませんでした。

やりたい事というのが、
テキストボックス1:[商品1]
テキストボックス2:[商品2]
と入力して検索した場合に、検索結果に[商品1]と[商品2]を
表示出来ないものか、という事になります。

search_products.tpl内
----------------------------------------------
<input type="hidden" name="mode" value="search">
----------------------------------------------
上記の全商品指定のタグから

----------------------------------------------
<input type="text" name="name" size="18" class="box18" maxlength="50" value="<!--{$smarty.get.name|escape}-->"/>
----------------------------------------------

このテキストボックスに入力した文字列が
絞り込み検索の結果に繋がる事はわかったのですが、
このタグを単純に増やしても適用されないので困っております。
[name][value]の値の問題ではないようなので、phpの何処を弄れば良いのかがわかりません。
nanasess
投稿日時: 2008/3/25 3:05
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2314
Re: 絞り込み検索
ちょっと厳しいですが, HTML と PHP と SQL の基礎から勉強された方が良いでしょう...

検索する場合, テキストフィールドの name 属性の値が URL のパラメータとして渡されます.
PHP 側では, $_GET['name'] 等のグローバル変数で受けとることができます.


<input type="text" name="name" size="18" class="box18" maxlength="50" value="<!--{$smarty.get.name|escape}-->"/>

このテキストフィールドを単純に2つに増やしても, PHP に渡る値は, $_GET['name'] の1つのみです.
複数の値を渡すには, name 属性を一意にする必要があります.

例えば,

商品1: <input type="text" name="name1" size="18" class="box18" maxlength="50" value="<!--{$smarty.get.name|escape}-->"/>
商品2: <input type="text" name="name2" size="18" class="box18" maxlength="50" value="<!--{$smarty.get.name|escape}-->"/>


上記のようにすると, $_GET['name1'] と $_GET['name2'] で, それぞれ商品1と商品2の検索結果を受け取ることができます.

この値を, SQL で OR 検索することで, 両方の検索結果を得ることができます.

しかし, 仕組みをしっかり理解せずにコーディングすると, SQL インジェクションや, クロスサイトスクリプティングなどの脆弱性の元となってしまう場合があります.

単純に答えを求めるのではなく, 基礎から勉強することをおすすめします.
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は90,031名です
総投稿数は110,282件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1677
8
red
1570
9
mcontact
1343
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.