2011/03/16

phpで楽天 ジャンル配列データの作成

今週は休校が決まりました。

楽天のジャンルデータの作成は、XMLのデータが取得できますが、
手作業で配列データを作成するのは少し手間がかかります。

Excelで作成するのは慣れていましたが、OpenOfficeはまだ慣れていないので配列としてデータを加工するのに時間がかかります。

折角なので、phpで出来ないものか探したところ、同じことをしてくれた人がいました。
Pear XML_Serializerを使ってみた - Webtech Walkerを参考に配列データを作りました。
require_once 'XML/Unserializer.php';

$xml = file_get_contents("http://api.rakuten.co.jp/rws/3.0/rest?developerId=(開発者ID)&operation=GenreSearch&version=2007-04-11&genreId=0");
$Unserializer =& new XML_Unserializer();
$Unserializer->setOption('parseAttributes', TRUE);
$status = $Unserializer->unserialize($xml);
if ($status === true) {
  $res_array = $Unserializer->getUnserializedData();
  // print_r($res_array);
  foreach ($res_array['Body']['genreSearch:GenreSearch']['child'] as $key => $value) {
   $genre_array[] = $value ;
  }
//  print_r($genre_array) ;
}

$genre_array[][genreId]にジャンルコード
$genre_array[][genreName]に名称
が入っています。セレクトの部分はこのようになります。

<select name="genre">
 <?php foreach ($genre_array as $key1=>$value) { ?>
  <option value="<?php echo $value[genreId] ?>" <?php if ($value[genreId] == $genre ) { 
echo 'selected="selected"' ;} ?>><?php echo $value[genreName] ?></option>
 <?php } ?>
 </select>

0 件のコメント:

コメントを投稿