今日は、認定日のため午前中ハローワークに行って来ました。
<2時間目>
最後に少しだけ出席、授業内容わからず、PCを起動して
eclipse、XAMPP、VMwareの環境を起動したことこでお昼。
楽天の何かをやってました。
(楽天て聞くと円天を思い出すのは考えすぎか)
今日は、出席者が少ないため、symfonyはやらないそうです。
<3時間目>
お昼休みに、Webの手順どおり(おまけ/API)と聞いたので、とりあえず
その通りにやってみる。
(1)楽天のデベロッパーIDとアフィリエイトIDを取得
(2)PEARライブラリの設置(パスは間違えないように)
(3)サンプルコードに取得したIDを入れ、ローカルで実行。
require_once 'Services/Rakuten.php'; $api = new Services_Rakuten('デベロッパーID', 'アフィリエイトID'); $api->doItemSearch("山", "101070", array('sort' => '-reviewCount','page' => 1,'imageFlag' => 1)); $data = $api->getResultData(); print_r($data);
実行結果画面で出力された$dataから、XMLのデータを取得する。
Array ( [count] => 112959 [page] => 1 [first] => 1 [last] => 30 [hits] => 30 [carrier] => 0 [pageCount] => 100 [Items] => Array ( [Item] => Array ( [0] => Array ( [itemName] => ★あす楽対応★★レビューを書いて2点以上ご注文 ... [itemCode] => vvv:10002539 [itemPrice] => 2079 ...
サンプルのデータでキーワードは「山」、商品コード「101070」(スポーツ・アウトドア)
このデータから、商品の情報を取得するためのphpコードを作成。
ここまでは準備で、ここからが本題。
(4)XMLのデータ($data)から、商品一覧を表示するテーブルをHTMLで作成する。
使う項目は「mediumImageUrl」 「itemName」それとあとで「itemCode」
ただし、以下のコードはブログを保存すると壊れるので、一部コードを変更しています。
そのままコピーしてもつかえません。
<table border='1'>
<php
foreach ($data["Items"]["Item"] as $item) {
print "tr" ;
print "td" ;
print "<img src=\"" . $item["mediumImageUrl"] . "\">";
print "/td" ;
print "td" ;
print "商品 : " . $item["itemName"] ;
print "<br />";
print "価格 : " . $item["itemPrice"] ;
print "/td" ;
print "/tr" ;
}
>
<table>
さらににアフェリエイトのリンクも張った。
print "<td><a href=\"".$item["affiliateUrl"]. "\">" ; print "<img src=\"" . $item["mediumImageUrl"] . "\">"; print "</a></td>" ;<4時間目>
(5)一覧が出来たら、フォームで、キーワード、ジャンルを指定して検索できるようにする。
if (isset($_POST["keywd"])) { $keywd = $_POST["keywd"] ; } else { $keywd = "山" ; } if (isset($_POST["genre"])) { $genre = $_POST["genre"] ; } else { $genre = "101070" ; } $api = new Services_Rakuten('デベロッパーID', 'アフィリエイトID'); $api->doItemSearch($keywd, $genre, array('sort' => '-reviewCount','page' => 1,'imageFlag' => 1)); $data = $api->getResultData();
(6)一度入力した情報は、検索フォームに残すほうが親切。
キーワード: <input type="text" name="keywd" size="30" value="<?php echo $keywd ?>"/>
(7)ジャンルはポップアップにする。
ポップアップのための配列データ取得は、「楽天ジャンル検索API」から取得する。
http://api.rakuten.co.jp/rws/3.0/rest? developerId=[YOUR_developerID] &operation=GenreSearch &version=2007-04-11 &genreId=0
この実行結果から得られるXMLデータから、商品コードの配列を作成
<child> <genreId>101070</genreId> <genreName>スポーツ・アウトドア</genreName> <genreLevel>1</genreLevel> </child> <child> <genreId>100938</genreId> <genreName>ダイエット・健康</genreName> <genreLevel>1</genreLevel> </child>
$data_array = array( 101070 => 'スポーツ・アウトドア' , 100938 => 'ダイエット・健康' , );検索条件のjジャンルをフォームのセレクトにする。
商品: <select name="genre"> <?php foreach ($data_array as $key1=>$value) { ?> <option value="<?php echo $key1 ?>" <?php if ($key1 == $genre ) { echo 'selected="selected"' ;} ?>><?php echo $value ?></option> <?php } ?> </select>一覧表のカラムにadd.phpのリンクを追加し、add.phpで商品コードを受け取る。
print "<td>" ; print "<a href=\"add.php?itemCode=".$item["itemCode"] . "\">追加する</a>" ; print "</td>" ;
結果としてこちらになりました。
<5時間目>
add.phpの作成、コメントを入力できるようにする。
投稿結果をcommentテーブルに入れる。
そのとき、以下の項目も入れられるように、commentテーブルもカラム追加しておく。
ItemCode
など5項目ほどあり、ここはメモをPCに残して来たので詳細は木曜日に追記します。
<6時間目>
授業を始めようとしたことろで、停電のため中止。
みんなしぶしぶ帰宅。
これだと何をしているか判らないと思うので、
phpのコードと作業の詳細は、PCのpearの環境を作ってからもう少し整理して追記します。
明日は、お休みです。
0 件のコメント:
コメントを投稿