検索キーワードに一致するデータがあると、以下のようにhttp://withmama.lolipop.jp/kaihatsu/amusement_park/hatena_1.php (長いページですが、最後に3件結果が表示されます)生成されます。
しかし、一致するデータがない場合は、何らかの処理をして「見つかりませんでした」などの文言を表示させたいのですが、その処理の仕方がわかりません。そのため http://withmama.lolipop.jp/kaihatsu/amusement_park/hatena_2.php のようにエラーメッセージ入りのページとなってしまいます。
ソース(下記コメント欄参照)にある
$xml = simplexml_load_file($req,'SimpleXMLElement') or die("XMLパースエラー");の後か、foreach ($xml->Result->Item as $item) { の後あたりに、いろいろ処理を追加してみましたが、目的通りにはいきませんでした。
となたか、解決方法をご教示いただけませんか?
<? //件数を指定する処理 $count = 0; if(isset($xml->Result) && isset($xml->Result->Item)) { foreach ($xml->Result->Item as $item) { ?> <b><?php echo ($item->Title); ?></b><br> <img src="<?php echo ($item->Image); ?>" style="margin:10px;"><br> 現在の価格<?php echo floor($item->CurrentPrice); ?>円 終了日時<?php echo ($item->EndTime); ?><br> <a href="<?php echo ($item->AuctionItemUrl); ?>" target="_blank">もっと詳しく</a><br><br> <? $count++; if ($count > 2){break;} } } else { echo '見つかりませんでした'; } ?>
あと、Item直下はただのArrayで添字も無いので以下のようにすればforeachの外に$countを作らなくてもインデックスが取れると思います。
2012/04/26 18:12:00foreach ($xml->Result->Item as $count => $item) {
いろんなケースに対応するためのものだったのですね。丁寧なご説明、本当にありがとうございました!
2012/04/26 18:12:43