Как связать html-выпадающее меню с запросом php xpath с xml-файлом? - PullRequest
0 голосов
/ 10 сентября 2018

У меня следующий запрос php / xpath. Кажется, я не могу найти логику, чтобы связать этот скрипт с html-страницей / клиентской веб-страницей с окном поиска, чтобы пользователь мог выбрать то, что он хочет видеть из xml-файла. Я, конечно, могу сделать выпадающий список с помощью кнопки поиска, но изо всех сил пытаюсь связать все это.

Приведенный ниже php-код выполняет поиск в xml-файле и выбирает элементы, цены на которые находятся в диапазоне от 100 до 200 тыс. Фунтов стерлингов.

<div>
<label for="xsltsearch">Choose a Price:</label>


    <select id="xsltsearch">
      <option value="">Price To</option>
      <option value="">£100,000</option>
      <option value="">£200,000</option>
      <option value="">£300,000</option>
      <option value="">£400,000</option>
    </select>


    <select>
      <option value="">Price From</option>
      <option value="">£100,000</option>
      <option value="">£200,000</option>
      <option value="">£300,000</option>
      <option value="">£400,000</option>
    </select>
    <form method="post" action="example.xml">
      <input name="search" type="text" class="input" value="" /> 
       <input type="submit" class="submit" value="Search" />
    </form>
</html>


  <?php 

    $xml =  simplexml_load_file('xml_files/example.xml') or die("can not find it");

    $a = "100000.00";
    $b = "200000.00";



    $result = $xml->xpath("//property[(numeric_price> '" . $a . "'  ) and (numeric_price< '" . $b . "')     ]/numeric_price ");


       while(list( , $node) = each($result)) {

        echo  'Asking Price: ',$node,"\n"  ;

    }


    ?>

1 Ответ

0 голосов
/ 17 октября 2018
Maybe this question was to simple to answer on here. 
I created 

In the drop down menu 1    
<select name="price"> 
In the drop down menu 2    
<select name="prices"> 

i then posted the form like you would any other php script and

Created a variable for the values of 'price' and 'prices' which insert the chosen user £values selected from the drop down menu. 

if(isset($_POST["submit"])){
$a = $_POST['price'];
$b = $_POST['prices'];

i then queried the xml file 

$result = $xml->property->xpath("//property[(numeric_price> '" . $a . "'  ) and (numeric_price< '" . $b . "')   ]  ");

и сортируйте данные как хотите

usort($result, function ($a, $b) { return (int) $a->numeric_price - (int) $b->numeric_price; });

//function to sort price high to low.
usort($result, function ($a, $b) { return (int) $b->numeric_price - (int) $a->numeric_price; });

foreach ($result as $elements){

затем вы можете отобразить элементы XML-файла, которые необходимо отобразить пользователю. Цикл foreach выберет каждый товар, который соответствует ценовому запросу:

echo 'Asking Price:',$elements->numeric_price."  / " ;"\n";
echo 'Tenure:', $elements->tenure." / "; "\n";
echo 'Address:'." ", $elements->advert_heading; "\n";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...