楽天のジャンルデータの作成は、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 件のコメント:
コメントを投稿