2013-08-12 3 views
0

Im делает небольшой проект в flex. Пользователь может просматривать книги. Когда типы в названии книги я получаю все отзывы назад, а не обзоры этой конкретной книги.flex4: HTTP-запрос не отправляет значения

мой код:

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" 

      > 
<fx:Script> 
    <![CDATA[ 
     import mx.rpc.events.ResultEvent; 

     public function handleMenu(event:ResultEvent):void{ 
      DescrBooks.dataProvider = event.result.menu.menuitem; 
     } 
     public function Start():void{ 

      //favorieten.addEventListener(ResultEvent.RESULT,handleMenu); 
      favorieten.send(); 
     } 

     public function ShowBooks(SelectedBooks:Object):String{ 
      var descr:String = SelectedBooks.itemDesc; 

      var D:String = descr 

      return D; 

     } 
    ]]> 
</fx:Script> 
<fx:Declarations> 
    <!-- Place non-visual elements (e.g., services, value objects) here  

    --> 

    <s:HTTPService id="favorieten" 
        url="http://www.gertjanvanhove2012.dreamhosters.com/script/ReviewsTest.php" method="POST" 
        result="handleMenu(event)" 
        > 
     <s:request xmlns="" > 
      <voorwerp>{TextTI.text}</voorwerp> 
     </s:request> 

    </s:HTTPService> 
</fx:Declarations> 


<mx:VBox x="14" y="60" width="744" height="450"> 
    <mx:Repeater id="DescrBooks" maxWidth="450"> 
     <mx:HBox> 

      <mx:Text text="{ShowBooks(DescrBooks.currentItem)}" maxWidth="450" /> 

     </mx:HBox> 
    </mx:Repeater> 
</mx:VBox> 
<s:Button x="14" y="25" label="Button" click="Start()"/> 
<s:TextInput x="92" y="25" id="TextTI"/> 
</s:Application> 

Мой PHP скрипт:

<?php 
header("Content-type: text/xml"); 
header("Expires: Mon, 26 Jul 1990 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
// cache wordt uitgeschakeld om zeker te zijn dat de gegevens uit de API gelezen worden en niet uit de cache van de webbrowser 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
//alle gegevens om connectie te leggen naar de databank 
    $host = "mysql.imd2012.dreamhosters.com"; 
    $user = "*********"; 
    $pass = "*********"; 
    $database = "gertjanvanhove2012"; 
//connectie leggen naar de databank 
$linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host."); 
mysql_select_db($database, $linkID) or die("Could not find database."); 
//gegevens gaan halen uit de databank 
if(!isset($_GET['voorwerp'])){ 

$query = "SELECT * FROM RMA_Review "; 

} 
else{ 

$_GET['voorwerp'] = $tit; 
$query = "SELECT * FROM RMA_Review where Title='".$tit."'"; 
} 
$menu_result = mysql_query($query, $linkID) or die("Data not found."); 
//starten met de opbouw van de string die de XML code bevat 
$xml_output = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 
$xml_output .= "<menu>\n"; 
//voor elk menu item de nodige gegevens neerschrijven 
for($x = 0 ; $x < mysql_num_rows($menu_result) ; $x++){ 
$itemrow = mysql_fetch_assoc($menu_result); 
$xml_output .= "\t<menuitem>\n"; 
$xml_output .= "\t\t<itemID>" . $itemrow['ReviewId'] . "</itemID>\n"; 
$xml_output .= "\t\t<itemLabel>" . $itemrow['Title'] . "</itemLabel>\n"; 
$xml_output .= "\t\t<itemDesc>" . $itemrow['Review'] . "</itemDesc>\n"; 
$xml_output .= "\t\t<itemAutheur>" . $itemrow['Autheur'] . "</itemAutheur>\n"; 
$xml_output .= "\t</menuitem>\n"; 
} 
$xml_output .= "</menu>\n"; 
//de volledige XML string in de response echo'n 
echo $xml_output;?> 

таблица RMA_Reviews выглядит следующим образом: (не могу опубликовать скриншот, потому что я не хватает респ)

http://oi39.tinypic.com/2cxtez5.jpg

Итак, мой вопрос: как я могу показать только значения книг, введенных в текстовое поле.

ответ

0

Мне кажется, вы не передаете переменную 'title' в ваш php-скрипт.

Попробуйте добавить его через URLVariables, как показано в следующем примере:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLVariables.html#includeExamplesSummary

EDIT: Упс, извините, я предполагаю, что вы делаете! Измените его в коде выше ... Можете ли вы подтвердить, что переменная передается в php, как и должно быть?

+0

Переменная wasnt прошла в моем PHP-скрипте. Основным проблемом было то, что он не признал {textTI.text}. Я должен был это изменить. –

Смежные вопросы