ZackWhite
Legacy Member
EDIT ALL
Ik zit met het volgende probleem nu:
Ik heb in Flash builder de hoofdapplicatie met component in een accordeon:
Main:
en het component:
De bedoeling is dat het datagrid in mijn component opgevuld wordt met data afhankelijk van de 'selectedIndex'. Dus ik stuur die variabele door naar mijn PHP script waar de query opgebouwd wordt:
Maar ergens zit een fout, of misschien is heel mijn denkwijze fout. Iemand enig idee?
mvg
Ik zit met het volgende probleem nu:
Ik heb in Flash builder de hoofdapplicatie met component in een accordeon:
Main:
Code:
<?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" xmlns:components="components.*"
creationComplete="application1_creationCompleteHandler(event)">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:HTTPService id="httpMenu"
url="http://localhost/P006_Project/Query.php"/>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.events.IndexChangedEvent;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
// TODO Auto-generated method stub
accItems.selectedIndex = 1;
}
protected function accordion1_changeHandler(event:IndexChangedEvent):void
{
// TODO Auto-generated method stub
var Obj:Object=new Object();
Obj.num1 = accItems.selectedIndex;
httpMenu.method = "POST";
httpMenu.send(Obj);
}
]]>
</fx:Script>
<mx:Accordion id="accItems" change="accordion1_changeHandler(event)">
<s:NavigatorContent label="Frisdranken">
<components:Items />
</s:NavigatorContent>
<s:NavigatorContent label="Bieren (vat)">
</s:NavigatorContent>
</mx:Accordion>
</s:Application>
en het component:
Code:
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="500" height="500">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<mx:HTTPService id="getData" url="http://localhost/P006_Project/Query.php"
useProxy="false" method="GET" resultFormat="text" result="getPHPData(event)">
</mx:HTTPService>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
private var dataArray:ArrayCollection;
private function initDataGrid():void
{
dataArray = new ArrayCollection();
getData.send();
}
private function getPHPData(event:ResultEvent):void
{
var rawArray:Array;
var rawData:String = String(event.result);
rawArray = JSON.parse(rawData) as Array;
dataArray = new ArrayCollection(rawArray);
}
]]>
</fx:Script>
<mx:DataGrid id="dgData" width="100%" height="100%"
dataProvider="{dataArray}" creationComplete="{initDataGrid()}" >
<mx:columns>
<mx:DataGridColumn width="125" dataField="gerechtID" headerText="gerechtID"/>
<mx:DataGridColumn width="125" dataField="typeID" headerText="typeID"/>
<mx:DataGridColumn width="125" dataField="prijs" headerText="prijs"/>
<mx:DataGridColumn width="125" dataField="omschrijving" headerText="omschrijving"/>
</mx:columns>
</mx:DataGrid>
</s:Group>
De bedoeling is dat het datagrid in mijn component opgevuld wordt met data afhankelijk van de 'selectedIndex'. Dus ik stuur die variabele door naar mijn PHP script waar de query opgebouwd wordt:
PHP:
<?php
include_once("Connection.php");
mysql_connect($URL, $USERNAME, $PASSWORD);
mysql_select_db($DATABASE) or die('Cannot connect to database.');
$typeId=$_POST['num1'];
$returnArray = array();
$query = "SELECT * FROM gerecht where typeID = " . $typeId;
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
array_push($returnArray, $row);
}
mysql_close();
echo json_encode($returnArray);
?>
Maar ergens zit een fout, of misschien is heel mijn denkwijze fout. Iemand enig idee?
mvg