案ずるより産むが易し 意外と簡単 楽天ウェブサービスを使ってみる(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 の終了
?>

単純に画像、タイトル・サブタイトル、説明文を表示しているだけです。

デモはありません。