製造1(検索画面・共通部品)

Pocket

検索画面を製造します。

まず、検索画面と詳細画面で共通的に使用する定数を作成します。

■がついてる項目
・アクセスキーID
・シークレットアクセスキー
・アソシエイトID
上記の項目にAmazonから取得したキーを入れて下さい。
const.php

 "All", "nodeId" => "0", "itemName" => "すべて" );
	$categoryList[] = array( "ItemIdx" => "Apparel", "nodeId" => "361245011", "itemName" => "服&ファッション小物" );
	$categoryList[] = array( "ItemIdx" => "Automotive", "nodeId" => "2017305051", "itemName" => "カー&バイク用品" );
	$categoryList[] = array( "ItemIdx" => "Baby", "nodeId" => "344919011", "itemName" => "ベビー&マタニティー" );
	$categoryList[] = array( "ItemIdx" => "Beauty", "nodeId" => "52391051", "itemName" => "コスメ" );
	$categoryList[] = array( "ItemIdx" => "Books", "nodeId" => "465610", "itemName" => "本" );
	$categoryList[] = array( "ItemIdx" => "Classical", "nodeId" => "701040", "itemName" => "Classical" );
	$categoryList[] = array( "ItemIdx" => "DVD", "nodeId" => "562002", "itemName" => "DVD" );
	$categoryList[] = array( "ItemIdx" => "Electronics", "nodeId" => "3210991", "itemName" => "家電・カメラ" );
	$categoryList[] = array( "ItemIdx" => "ForeignBooks", "nodeId" => "52231011", "itemName" => "洋書" );
	$categoryList[] = array( "ItemIdx" => "Grocery", "nodeId" => "57240051", "itemName" => "食品・飲料" );
	$categoryList[] = array( "ItemIdx" => "HealthPersonalCare", "nodeId" => "161669011", "itemName" => "ヘルス&ビューティー" );
	$categoryList[] = array( "ItemIdx" => "Hobbies", "nodeId" => "2189355051", "itemName" => "ホビー" );
	$categoryList[] = array( "ItemIdx" => "Jewelry", "nodeId" => "85896051", "itemName" => "ジュエリー" );
	$categoryList[] = array( "ItemIdx" => "Kitchen", "nodeId" => "3839151", "itemName" => "ホーム&キッチン" );
	$categoryList[] = array( "ItemIdx" => "Music", "nodeId" => "562032", "itemName" => "ミュージック" );
	$categoryList[] = array( "ItemIdx" => "OfficeProducts", "nodeId" => "86731051", "itemName" => "オフィス用品" );
	$categoryList[] = array( "ItemIdx" => "PCHardware", "nodeId" => "2127210051", "itemName" => "パソコン・周辺機器" );
	$categoryList[] = array( "ItemIdx" => "PetSupplies", "nodeId" => "2127213051", "itemName" => "ペット用品" );
	$categoryList[] = array( "ItemIdx" => "Shoes", "nodeId" => "2016927051", "itemName" => "シューズ&バッグ" );
	$categoryList[] = array( "ItemIdx" => "Software", "nodeId" => "637630", "itemName" => "PCソフト" );
	$categoryList[] = array( "ItemIdx" => "SportingGoods", "nodeId" => "14315361", "itemName" => "スポーツ&アウトドア" );
	$categoryList[] = array( "ItemIdx" => "Toys", "nodeId" => "13299551", "itemName" => "おもちゃ" );
	$categoryList[] = array( "ItemIdx" => "VHS", "nodeId" => "561972", "itemName" => "VHS" );
	$categoryList[] = array( "ItemIdx" => "Video", "nodeId" => "561972", "itemName" => "ビデオ" );
	$categoryList[] = array( "ItemIdx" => "VideoGames", "nodeId" => "637872", "itemName" => "TVゲーム" );
	$categoryList[] = array( "ItemIdx" => "Watches", "nodeId" => "331952011", "itemName" => "時計" );

?>

ついでなので、HTML定義も共通化しておきます。
HTML表示時の文字コード等を定義しています。
com/headerMeta.php

<?php
	// HTML定義作成開始
	echo "";
	echo "";
	echo "";
	echo "";
	echo "<title>アフィリエイト支援WEBサービス</title>";
	echo "";
	echo "";
	echo "";
?&gt;

お待ちかねの検索画面です。
検索、及び検索結果の一覧表示を行います。
search.php

<!-- 検索結果画面 -->

&lt;?php
	// 定数読込
	require_once( &quot;./const.php&quot; );
	// 共通関数読込
	require_once( COM_FUNCTION );
	// SERVICES_AMAZON読込
	require_once( API_AMAZON );
	// HTMLヘッダ読込
	include( COM_HEADER_META );

	//------------------------------------------------------//
	// 変数の初期化
	//------------------------------------------------------//
	$index = &quot;&quot;;				// サーチインデックス
	$keyword = &quot;&quot;;				// サーチキーワード
	$node_id = &quot;&quot;;				// ノードID
	$sort = SORT;				// ソート順
	$reqFlg = true;				// リクエストフラグ

	//------------------------------------------------------//
	// パラメータチェック
	//------------------------------------------------------//

	// リクエストチェック
	if( isset( $_REQUEST[&#039;action&#039;] ) )
	{
		// カテゴリ設定
		$index = htmlspecialchars( $_REQUEST[&#039;category&#039;], ENT_QUOTES );

		// ノードID設定
		$node_id = &quot;&quot;;
		for ( $i = 0; $i 

<!-- 本体 -->

	<form name="form" method="post" action="search.php">
		<table>
			<tr>
				<td>
					<!-- セレクトボックス値 -->
					
						&lt;?php
						for ( $i = 0; $i &lt; count( $categoryList ); $i++ )
						{
							// 選択値判定
							if ( $categoryList[$i][&quot;ItemIdx&quot;] == $index )
							{
								// 選択状態に変更
								echo &quot;".$categoryList[$i]["itemName"]."";
							}
							else
							{
								// 通常
								echo "".$categoryList[$i]["itemName"]."";
							}
						}
						?&gt;
					
				</td>
				<td>
					&lt;input type=&quot;text&quot; id=&quot;keyword&quot; name=&quot;keyword&quot; value=&quot;" size="50" /&gt;
					<br />
				</td>
			</tr>
		</table>
	</form>
	<br />
	<br />

	 setLocale( LOCAL );

		// 取得オプション設定
		$options = array();
		// 返却情報設定
		$options['ResponseGroup'] = RESPONSE_GROUP;

		// Keyword入力判定
		if( $keyword != "" )
		{
			// 入力されている場合、使用する
			$options['Keywords'] = $keyword;
		}

		// ALL判定
		if( $index != "All" &amp;&amp; $index != "Blended" )
		{
			// ※ALL、Blendedの場合はSort,BrowseNodeを指定するとエラーになるため
			$options['Sort'] = $sort;
			$options['BrowseNode'] = $node_id;
		}

		// AMAZONへリクエストを送信
		$ret_item_by_keyword = $amazon -&gt; ItemSearch( $index, $options );

		// エラー判定
		if ( PEAR::isError( $ret ) )
		{
			// エラーメッセージ表示
			die( $ret -&gt; getMessage() );
		}

		//------------------------------------------------------//
		// HTML(商品情報)の表示
		//------------------------------------------------------//
		$item_list_html = "";
		$item_list_html .=  "<h2>商品一覧</h2><br />";
		foreach ( $ret_item_by_keyword['Item'] as $item )
		{
			// 商品情報出力
			$item_list_html .= create_item_detail_info( $item, true );
		}

	?&gt;

	<!-- 商品リスト -->
	



アマゾンから取得した商品データをHTMLに加工する
関数。一覧と詳細で共通使用します。
com/function.php

&lt;?php

	// ------------------------------------------------------//
	// 商品表示情報作成
	// ------------------------------------------------------//
	function create_item_detail_info( $data, $search_flg )
	{
		//価格情報
		$price = &quot;&quot;;
		if( isset( $data[&#039;ItemAttributes&#039;][&#039;ListPrice&#039;][&#039;FormattedPrice&#039;] ) )
		{
			$price .= $data[&#039;ItemAttributes&#039;][&#039;ListPrice&#039;][&#039;FormattedPrice&#039;];
		}

		//在庫状況
		$avail = &quot;&quot;;
		if( isset( $data[&#039;Offers&#039;][&#039;Offer&#039;][&#039;OfferListing&#039;][&#039;Availability&#039;] ) )
		{
			$avail .= $data[&#039;Offers&#039;][&#039;Offer&#039;][&#039;OfferListing&#039;][&#039;Availability&#039;];
		}

		// 発売日
		$release_date = &quot;&quot;;
		if( isset( $data[&#039;ItemAttributes&#039;][&#039;ReleaseDate&#039;] ) )
		{
			$release_date .= $data[&#039;ItemAttributes&#039;][&#039;ReleaseDate&#039;];
		}

		// 販売元情報
		$release = &quot;&quot;;
		if( isset( $data[&#039;ItemAttributes&#039;][&#039;Manufacturer&#039;] ) )
		{
			$release  .= $data[&#039;ItemAttributes&#039;][&#039;Manufacturer&#039;];
		}

		//ASIN
		$asin = $data[&#039;ASIN&#039;];
		//Amazon LINK URL作成
		if( $search_flg )
		{
			// 詳細情報表示
			$afflink = &quot;./detail.php?asin=&quot; . $asin;
			$target_blank = &quot; target=&#039;_blank&#039; &quot;;
		}
		else
		{
			// Amazon詳細情報表示
			$afflink = $data[&#039;DetailPageURL&#039;];
			$target_blank = &quot; target=&#039;_blank&#039; &quot;;
		}

		//html作成
		$html .= &#039;<a>';
		$html .= '<img src="' . $data&#91;'MediumImage'&#93; &#91;'URL'&#93; . '" alt="" style="border:1px solid #eee" />';
		$html .= '</a>';
		$html .= '<h3>';
		$html .= '<a>';
		$html .= $data['ItemAttributes']['Title'];
		$html .= '</a>';
		$html .= '</h3>';
		$html .= $now;
		$html .= '価  格:' . $price . '<br />';
		$html .= '在庫状況:' . $avail . '<br />';
		$html .= '発 売 日:' . $release_date . '<br />';
		$html .= '販 売 元:' . $release . '<br />';
		$html .= '<br />';
		$html .= '';

		return $html;
	}
?&gt;
タイトルとURLをコピーしました