案ずるより産むが易し 意外と簡単 楽天ウェブサービスを使ってみる(2)
前回の「案ずるより産むが易し 意外と簡単 楽天ウェブサービスを使ってみる (1)」 では、ウェブサービスのリクエストを生成して得られたsimpleXmlオブジェクトを表示するところまで解説しました。
今回は、得られたsimpleXmlオブジェクトをPHPの構文で取り出して、表示してみます。
全体の情報と複数の商品情報に分けて考えてみます。
1、全体の情報
全体の情報はsimpleXmlオブジェクト直下にありますので、アロー演算子で取得します。
検索結果の総商品数の場合だと、
$_KOBO_ITEM_COUNT = $sxmlData->count;
といった具合にです。
2、複数商品のデータ
複数の商品データを取り出すには、「foreach」を使います。
<?php
// 前回からの続き
// --------------------------------------------------------------------------- 全体情報
$_KOBO_ITEM_COUNT = $sxmlData->count; // 検索結果の総商品数
$_KOBO_ITEM_PAGE = $sxmlData->page; // 現在のページ番号
$_KOBO_ITEM_FIRST = $sxmlData->first; // 検索結果の何件目からか
$_KOBO_ITEM_LAST = $sxmlData->last; // 検索結果の何件目までか
$_KOBO_ITEM_HITS = $sxmlData->hits; // 1度に返却する商品数
$_KOBO_ITEM_PAGE_COUNT = $sxmlData->pageCount; // 総ページ数 最大100
// 基本情報の表示
print( "検索結果の総商品数 : $_KOBO_ITEM_COUNT <br>");
print( "現在のページ番号 : $_KOBO_ITEM_PAGE <br>");
print( "検索結果の : $_KOBO_ITEM_FIRST 件から $_KOBO_ITEM_LAST 件までを表示しています<br>");
print( "1度に返却する商品数 : $_KOBO_ITEM_HITS <br>");
print( "総ページ数 : $_KOBO_ITEM_PAGE_COUNT <br><br>");
// ---------------------------------------------------------------------------
foreach($sxmlData->Items->Item as $item){
$_ITEM_TITLE = $item->title; // 書籍タイトル
$_ITEM_TITLE_KANA = $item->titleKana; // 書籍タイトル カナ
$_ITEM_SUB_TITLE = $item->subTitle; // 書籍サブタイトル 書籍によっては表示されない場合もあります
$_ITEM_SERIES_NAME = $item->seriesName; // 本のシリーズ名 書籍によっては表示されない場合もあります
$_ITEM_AUTHOR = $item->author; // 著者名
$_ITEM_AUTHOR_KANA = $item->authorKana; // 著者名カナ
$_ITEM_PUBLISHER_NAME = $item->publisherName; // 出版社名
$_ITEM_NUMBER = $item->itemNumber; // 商品番号
$_ITEM_CAPTION = $item->itemCaption; // 商品説明文
$_ITEM_SALLE_DATE = $item->salesDate; // 発売日
$_ITEM_PRICE = $item->itemPrice; // 税込み販売価格
$_ITEM_URL = $item->itemUrl; // 商品URL
$_ITEM_AFF_URL = $item->affiliateUrl; // アフィリエイトURL
$_ITEM_SIMG_URL = $item->smallImageUrl; // 商品画像 64x64URL
$_ITEM_MIMG_URL = $item->mediumImageUrl; // 商品画像 128x128URL
$_ITEM_LIMG_URL = $item->largeImageUrl; // 商品画像 200x200URL
$_ITEM_REVIEW_COUNT = $item->reviewCount; // レビュー件数
$_ITEM_REVIEW_AVERAGE = $item->reviewAverage; // レビュー平均
$_ITEM_SALES_TYPE = $item->salesType; // 販売タイプ 0:通常商品 1:予約商品
// 出力
print("<img src=\"$_ITEM_LIMG_URL\" alt=\"$_ITEM_TITLE\"></a>");// イメージの表示
print("<br> $_ITEM_TITLE <br> $_ITEM_SUB_TITLE <br>"); // タイトル・サブタイトル表示
print("$_ITEM_CAPTION <br><br>"); // 説明文の表示
} // foreach の終了
?>
単純に画像、タイトル・サブタイトル、説明文を表示しているだけです。
デモはありません。