- ベストアンサー
YahooAPIを使って商品検索プログラミングの受け渡し方法について
- Yahoo!デベロッパーネットワークのAPIを使って商品検索プログラミングを勉強しています。どのような受け渡し方をすればよいのでしょうか?
- 商品検索のプログラミングを学んでいる際に、次のページに遷移する際にどのような受け渡し方法が必要なのかを教えてください。
- YahooAPIを使って表示させた商品の情報を選択し、別のページに受け渡す方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
print_rの部分を、 echo $data['ResultSet'][0]['Result']['ItemCode'][0]['Code']; のようにすれば取り出せます。 print_rで表示された文字は、その与えられた配列の構造の情報です。 表示された内容をよく読んで見てください。 また、print_rで自分で作成した配列を引数に与えてやったりしてどういう値が返ってくるかなどを見てみると理解が深まるかと思います。
その他の回答 (1)
- hogehoge78
- ベストアンサー率80% (433/539)
「登録する」ボタンというのはどういう意味でしょうか。 とりあえずYahooAPIのID取得して試してみました。 ドキュメントにも記載されているとおり、「Code」というのが、商品コードになりますので、 例えば、ItemSearchForm.phpの61行目のしたあたりに、 <p><a href="confirm.php?code=<?php echo h($hit->Code)?>">登録する</a></p> といったようなものを挿入し、confirm.phpを同じディレクトリに作ります。 内容は、 <?php require_once '../common/common.php'; $code = null; if(isset($_GET['code'])) $code = $_GET['code']; $request = "http://shopping.yahooapis.jp/ShoppingWebService/V1/php/itemLookup?appid=$appid&itemcode=$code"; $serialdata = file_get_contents($request); $data = array(); if(!empty($serialdata)){ $data = unserialize($serialdata); } echo "<pre>"; print_r($data); echo "</pre>"; ?> こんな感じ。 つまり、確認ページに、受け渡す値は、「Code(商品コード)」の中身で、 受け取った商品コードは、 http://developer.yahoo.co.jp/webapi/shopping/shopping/v1/itemlookup.html に記載の通り、商品コード検索をします。 今回面倒だったので、PHPのシリアライズされた配列データ形式で取得して、ソレをunserializeしたものを、print_rで吐き出すだけにしときました。 いかがでしょう。
補足
遅くなり申し訳ないです。 回答ありがとうございます。 表示されているのを確認しました。 PHPの勉強を始めてあまり月日が経っていないため、 serializeというものをはじめて知りました。 またひとつ勉強になりました、ありがとうございます。 もしよろしければなのですが 教えていただいたコードから、更に一部だけを取り出す方法をお教え頂けないでしょうか? (取り出したい部分が商品コードだったら、商品コードだけを表示させるという意味です) ご面倒おかけして申し訳ありません。
お礼
このたびは初心者の私にわかりやすく、かつ的確に回答して頂き、 本当にありがとうございました! 1人では途中でやめてしまっていたかもしれません(´・ω・`) またPHPのジャンルの中で私の質問があるかもしれませんが お答え頂けるようでしたらぜひお願いします。 hogehoge78様には感謝の言葉でいっぱいです。