Обновление:
Спасибо Рэмбо за отличный ответ. Единственная проблема, которая у меня есть сейчас, заключается в том, что он отображает информацию об исполнителе только до тех пор, пока следующий концерт артиста находится в Великобритании. Например, если они играют во Франции, а ПОТОМ в Великобритании - ничего не отобразится (или отобразится мое сообщение else). Если их следующий концерт состоится в Великобритании, то он будет отображать информацию об исполнителе и т. д. Есть идеи, как заставить его отображать только информацию о Великобритании, независимо от того, были ли они в другой стране до этого?
Спасибо.
Исходное сообщение:
В настоящее время я создаю веб-сайт для моего последнего крупного проекта. Я извлекаю данные с помощью API Last.fm, используя PHP и XML. Пока все идет хорошо, но есть несколько проблем, с которыми у меня возникли проблемы. Я очень новичок в PHP, поэтому я хочу использовать эту возможность, чтобы развить некоторые навыки.
- Я хочу ограничить данные своим городом или страной.
- Как получить изображения из XML-документа?
Используя API last.fm, а точнее, artist.getEvents (http://bit.ly/zYzWo6), я могу создать базовое поле поиска, чтобы пользователь мог ввести имя исполнителя. Это большой шаг в правильном направлении, но проблема в том, что любые результаты за пределами моей страны не имеют значения для моего проекта. Использование artist.getEvents не позволяет использовать какие-либо конкретные параметры, такие как местоположение, однако позволяет использовать geo.getEvents (http://bit.ly/wpSQwd).
Ниже приведен код, используемый для моего основного поиска:
<?php
$first_bit_of_url = 'http://ws.audioscrobbler.com/2.0/?method=artist.getevents&artist=';
$last_bit_of_url = '&api_key=b25b959554ed76058ac220b7b2e0a026&d';
$artist = ($_GET["artist"]); // gets the information passed by the input form
$query_url = $first_bit_of_url . $artist . $last_bit_of_url ;
$upcoming_gig_data_xml = simplexml_load_file($query_url);
$search_result = $upcoming_gig_data_xml->events->event->artists->artist;
$venue_result = $upcoming_gig_data_xml->events->event->venue->name;
$city_result = $upcoming_gig_data_xml->events->event->venue->location->city;
for ($i = 0; $i < 5; $i++){
echo $search_result . "<br />";
echo $venue_result . ", ";
echo $city_result . "<br />";
} ?>
Во-вторых, как мне получить изображение, например, из этого образца кода XML, используемого в приведенном выше контексте? Я кратко прочитал несколько статей о Xpath, могу ли я смешивать метод Xpath с методом, который я использую выше?
<image size="small">...</image>
<image size="medium">...</image>
<image size="large">...</image>
Надеюсь, кто-то может указать мне правильное направление здесь, и я ценю любую оказанную помощь.
Спасибо,
Крис.