楽天ウェブサービス 検索キーワードを変更しても、同じ商品しか表示されない場合について。

【講座名】
楽天ウェブサービス初心者入門講座 に関する質問

【質問】
はじめまして。

御サイトにて色々な情報を提供してくださり、大変感謝いたしております。

申し訳ございませんが、楽天ウェブサービスのキーワード検索について、質問が御座います。

ItemSearch.phpにて、検索ワードを指定して表示する方法は分かりました。

その後、sample2,3,4,5と進めていくうちに、検索キーワードボックスにどのような文字を入力しましても、ItemSeach.phpにて指定した検索ワード(エンコードしているもの)しか検索結果に表示されません。

検索キーワードボックスに入力したワードを検索に使うためには、ItemSearch.phpの中をsample1とsample4,5では変更する必要があるのでしょうか?

お忙しいとは存じますが、ご回答のほどよろしくお願いいたします。

【回答】
ご質問の内容で、「ItemSeach.phpにて指定した検索ワード」という部分がありますが、 ItemSeach.php側では、キーワードを指定しないので、その辺りが気になります。

まず、「ItemSearch.php」で、キーワードの部分が、以下のようになっているか、ご確認ください。

$url .= " keyword=".rawurlencode($keyword);

↑この部分は、キーワードを受け取っているだけです。
ItemSeach.php側でキーワードは指定しないので、注意してください。

実際にキーワードの指定を行なっているのは、「item.js」側です。

sample003までは、プログラムの中に、検索キーワードを直接書いています。
var paramList = "keyword=" + encodeURIComponent("ヨーグルト");

でも sample004 からは、テキストボックスの値を取得するようになっています。
var paramList = "keyword=" + encodeURIComponent($F('txtWord'));

$F('txtWord') の部分で、テキストボックスの値を取得しています。
これは prototype.js の機能です。だから prototype.js を適切に配置しないと、動きません。

もちろん sample004 の index.html には、テキストボックスを用意する必要があります。

【補足】
その後、読者様からのメールで、ItemSeach.php側に、直接キーワードを記述していたことがわかりました。

&keyword=%E3%82%AB%E3%83%8B

最初に ItemSearch.phpを作成する時、パラメーターを含めたサンプルの動作確認をした後、そのまま sample2,3,4,5にも使ってしまったようです。

スポンサードリンク


スポンサードリンク






プログラミング入門 Q&A TOPへ