2012-05-01 6 views
1

こんにちは、ユーザーが説明またはタイトルのいずれかで検索できるように、コンボボックスを使用してXML文書を検索しようとしています。私は、検索を表示したいページにXMLファイルをロードしました。検索ボックス自体がtop.phpドキュメントに添付されています。変数を格納してXML検索文字列に適用しようとしました。私は次のエラーを取得しますが、進める方法がわかりません。タイトルと説明にコンボボックスを使用してXMLを検索する

警告:SimpleXMLElement :: xpath()[simplexmlelement.xpath]:/var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w11034582/public_html/web/searchResults.phpの行が無効です19

警告:無効な引数がforeachのために供給される()/var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w11034582/public_html/web/searchResults.phpのライン上の22

にsearchResults .php

<?php 
include "top.php"; 
$holidaysXML = simplexml_load_file('holidays.xml'); 



if(isset($_POST["txtSearch"]) && $_POST["txtSearch"] != "Holiday Search..." && $_POST["txtSearch"] !="") 
    { 
     $txtSearch = $_POST["txtSearch"]; 
     $searchOption = $_POST["searchOption"]; 
     if($_POST["searchOption"] != "null") 
     { 
      $searchOption = $_POST["searchOption"]; 
      $searchedResult = "Search results for \"$txtSearch\" in $searchOption"; 
      $resultsHoliday = "channel/item [contains($searchOption, \"$txtSearch\")]"; 
     } 

    } 
    $allHolidays = $holidaysXML->xpath($resultsHoliday); 


      foreach ($allHolidays as $currentHoliday) 
      { 

         echo "<a href= \"{$currentHoliday->link}\" style=\"font-weight:normal\" target=\"_blank\">{$currentHoliday->title}</a><br>"; 
         echo "{$currentHoliday->pubDate}<br>"; 
         echo "{$currentHoliday->description}"; 
      } 

This is where the information is gathered from the user on top.php 

    <form action = "searchResults.php" method = "post"> 
        <input type = "text" name = "txtSearch" value = "Holiday Search..."> 
         <select name = "searchOption"> 
         <option value = "null" selected>(select)</option> 
         <option value = "title">Title</option> 
         <option value = "description">Description</option> 
         </select> 
        <input type = "submit" name = "search" value = "Search"> 
       </form>    

答えて

1

表示されている最初の問題は原因です。

Holidays = $holidaysXML->xpath($searchedResult); 

は次のようになります。

Holidays = $holidaysXML->xpath($resultsHoliday); 

$resultsHolidayがあなたのXPathクエリを保持する変数であるとして。

+0

これを逃して変更を加えて –

関連する問題