人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

現在PHPでAPIにリクエストを送り、レスポンスが返ってきて、単純に表示させるという所まで出来ている段階です。
やりたい事なのですが、複数のAPIを使って、各APIに同じキーワードでリクエストして、ショップは違うけど、同一商品を価格の安い順に表示させたいです。
詳しく言いますと、キーワードを仮にスニーカーとしたら、沢山の情報が返ってきて、違うショップで商品名が微妙に違っていても同一の商品があり、価格もショップによって違いますよね。
これをトップページに商品画像を表示させて、その下に商品一覧というリンクを作り、そのリンクをクリックすれば、複数のAPIから取得した同一商品が価格の安い順に表示されるよぅにしたいのですが、どのようにプログラミングすればいいのでしょうか?
APIで取得したデータで、同一商品を抽出したり、紐付けしたりということがわかりません。
具体的なサンプルコードだとありがたいですし、この部分を勉強すればできますよって言うことでもいいので、お願いします。
わかりにく質問ですみません。皆さんの知識を貸して下さい。


●質問者: yusuke16kyo
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tobeoscontinue
ベストアンサー

似た感じのことをcafe-beretさんが以前に質問しています。
APIを使って表示できているのであればほぼ出来ていることになります。
後はやりたい事にそって変更していきます。

複数のAPIを使って、各APIに同じキーワードでリクエストする。
この部分は表示することは出来ているということなので
APIにリクエストを送り、レスポンスを受け取る部分と表示する部分に分けます。
受け取る部分を関数ShopA()とし、配列に入れて返すようにします。
感じとしては
$A = ShopA('スニーカー');
とします。他サイトでは同じく
$B = ShopB('スニーカー');
のようになります。
返す値としてarray(商品名,商品コード,価格,商品URL,できれば画像URL)が必要です。
次にarray_merge($A, $B, ..)でマージしその結果を価格でソートし表示します。

同一商品を価格の安い順に表示させる。
同一商品としてJANコードやISBNコードが使えるといいのですが独自のコードの場合はやっかいです。
流れとしては同じで今度は商品コードで検索することになります。
$A = ShohinA(商品コード);
$B = ShohinB(商品コード);
$R = array_merge($A, $B, ..)でマージしその結果を価格でソートし表示します。

このやり方は力技なのでデーターベースを勉強してみるのがいいと思います。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ