Метод XPATH для перенастройки нескольких динамических результатов из файла XML с использованием PHP [закрыто]
У меня есть форма, которую пользователь вводит или выбирает значение, форма выглядит следующим образом
Any Photographer_id
John
Fred
Joseph
Any Photographer_id
1
2
3
All Images
None
Image a
Image b
Image c
All Images
None
1
2
3
Тогдаsearch_photo.php
скрипт, который ловит результат формы и фильтрует введенные пользователем значения следующим образом
$xml = simplexml_load_file("photo.xml");
for ($i = 0; $i < count($xml); $i++) {
if (isset($_GET["LocationName"])) {
$photographer_id = $_GET["LocationName"];
}
$result = $xml->xpath('/root/area[photographer_id="' . $photographer_id . '"] ');
}
if(isset($_GET["Photographer"])) {
$photographer = $_GET["Photographer"];
}
$result = $xml->xpath('/root/area[photographer_id="' . $photographer_id . '"] ');
if(isset($_GET["images"])) {
$image = $_GET["images"];
}
echo $photographer_id;
echo $photographer;
echo $image;
var_dump ($result);
$result
с первого прохода XPATH правильно, если все, что установлено, это ‘photographer_id» если я тогда попробую$result = $xml->xpath('/root/area[photographer_id="' . $photographer_id . '"] | /root/area[photographer="' . $photographer . '"]');
и выберите1
а такжеfred
тогда я получаю результат из массива всех четырех, когда это должен быть пустой массив, могу посоветовать, как исправить эту ошибку. Извините, Мичи, вот XML-файл
1
John
a
1
1
John
b
2
1
John
c
3
2
Fred
a
4
3
Joseph
a
5
Помогает ли это, итоговый файл XML будет больше, чем этот.