
初めて質問します。
タイトルがわかりにくくて申し訳ないです。
今、Yahoo!デベロッパーネットワークのAPIを使って
商品検索のプログラミングを勉強しています。
サンプル集
http://developer.yahoo.co.jp/sample/shopping/sam …
のものを少しずついじりながら動かしている状態で、
現在は上のサンプルコードからあまり変化はありません。(見た目もコードもです)
そこでなんですが、
検索して表示された商品1つを選び、「登録する」ボタンを押すと
選んだ商品の情報だけを表示させ確認するようなページを作りたいのです。(タイトル、値段、商品説明など)
「ItemSearchForm.php」から「確認するページ.php」にページ遷移するときには
どのような受け渡し方をすればよいのでしょうか?
言葉足らずでわかりづらい点がありましたら、何でもおっしゃってください。
回答お願いいたします。
No.2ベストアンサー
- 回答日時:
print_rの部分を、
echo $data['ResultSet'][0]['Result']['ItemCode'][0]['Code'];
のようにすれば取り出せます。
print_rで表示された文字は、その与えられた配列の構造の情報です。
表示された内容をよく読んで見てください。
また、print_rで自分で作成した配列を引数に与えてやったりしてどういう値が返ってくるかなどを見てみると理解が深まるかと思います。
このたびは初心者の私にわかりやすく、かつ的確に回答して頂き、
本当にありがとうございました!
1人では途中でやめてしまっていたかもしれません(´・ω・`)
またPHPのジャンルの中で私の質問があるかもしれませんが
お答え頂けるようでしたらぜひお願いします。
hogehoge78様には感謝の言葉でいっぱいです。
No.1
- 回答日時:
「登録する」ボタンというのはどういう意味でしょうか。
とりあえず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/ …
$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/sho …
に記載の通り、商品コード検索をします。
今回面倒だったので、PHPのシリアライズされた配列データ形式で取得して、ソレをunserializeしたものを、print_rで吐き出すだけにしときました。
いかがでしょう。
この回答への補足
遅くなり申し訳ないです。
回答ありがとうございます。
表示されているのを確認しました。
PHPの勉強を始めてあまり月日が経っていないため、
serializeというものをはじめて知りました。
またひとつ勉強になりました、ありがとうございます。
もしよろしければなのですが
教えていただいたコードから、更に一部だけを取り出す方法をお教え頂けないでしょうか?
(取り出したい部分が商品コードだったら、商品コードだけを表示させるという意味です)
ご面倒おかけして申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのurlパラメータで取得した...
-
BASIC認証のユーザー名をPHPで...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
.htaccessにphp_valueが使用できな
-
mysql→EUC-JP、php→UTF-8の時の...
-
2つの画像ファイルが異なるファ...
-
require_once()でファイルが読...
-
phpの中でphpを書けないか
-
FTPコマンドでディレクトリごと...
-
MkDir関数
-
【file_exists】ファイルが存在...
-
sqlで日付が一番古いデータの月...
-
フォームで戻った際に入力済み...
-
<A href ~ と一緒に値を渡すには
-
テレメールとは?
-
「クラス関数」「メンバ関数」...
-
Makefile.inとMakefile.am
-
現在位置より2つ上のディレク...
-
さくらインターネットでメール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php で C言語のdefineマクロの...
-
「include()」関数の使い方につ...
-
index.phpで外部PHPファイルを...
-
echoの出力がうまくできない
-
PHPのタイムアウトについて
-
曜日に色をつけたいのですがわ...
-
PHPでxmlファイルへのデータの...
-
PHPでパラメータ取得
-
phpの改行コードについて
-
phpの言語のエラーについて
-
PHP Mysql SELECTであいまい検...
-
PHPのstrpbrk関数ってひらがな...
-
拡張子PHP3のスクリプトを...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
CFileDialogの最初のディレクト...
-
.phpと.incファイルの違いはな...
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
おすすめ情報