Trying to make a mobile application with Flex 4.5.
When I bind data to a list, it is not being displayed in the application. It should give the basket items but instead it just shows me one object [Object BasketVO]
Here is the coding. I hope someone can help me about a bit.
MXML file
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:ns1="*"
xmlns:basket="services.basket.*"
title="Settings">
<s:states>
<s:State name="AccountSet"/>
<s:State name="About"/>
<s:State name="Help"/>
</s:states>
<fx:Script>
<![CDATA[
import com.adobe.serializers.utility.TypeUtility;
import mx.events.FlexEvent;
protected function list_creationCompleteHandler(event:FlexEvent):void
{
getDataResult.token = basket.getData();
}
]]>
</fx:Script>
<fx:Declarations>
<s:CallResponder id="getDataResult"/>
<basket:Basket id="basket"/>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:List id="list" includeIn="AccountSet" x="53" y="61" width="513" height="435"
creationComplete="list_creationCompleteHandler(event)" labelField="item">
<s:AsyncListView list="{TypeUtility.convertToCollection(getDataResult.lastResult)}"/>
</s:List>
</s:View>
basket.php
<?php require_once 'BasketVO.php';
//connection info
define("DATABASE_SERVER", "localhost");
define("DATABASE_USERNAME", "root");
define("DATABASE_PASSWORD", "root");
define("DATABASE_NAME", "xxx");
//$o = new MyService();
//print_r($o->getData());
class basket {
/**
* Retrieve all the records from the table
* @return an array of VOAuthor
*/
public function getData() {
//connect to the database.
//we could have used an abstracting layer for connecting to the database.
//for the sake of simplicity, I choose not to.
$mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);
mysql_select_db(DATABASE_NAME);
//retrieve all rows
$query = "SELECT * FROM basket";
$result = mysql_query($query);
//throw (new Zend_Amf_Exception('error', 11));
$ret = array();
while ($row = mysql_fetch_object($result,"BasketVO"))
{
$ret[] = $row;
}
mysql_free_result($result);
return $ret;
}
/**
* Update one item in the table
* @param VOAuthor to be updated
* @return NULL
*/
public function saveData($basketc) {
if ($basketc == NULL)
return NULL;
//logMe($author);
//connect to the database.
$mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);
mysql_select_db(DATABASE_NAME);
if ($basketc->id > 0) {
//save changes
$query = "UPDATE basket SET item='".$basketc->item."', lname_aut='".$basketc->amount."' WHERE id". $basketc->id;
} else {
//add new record
$query = "INSERT INTO basket (item, amount) VALUES ('".$basketc->item."', '".$basketc->amount."')";
}
$result = mysql_query($query);
return NULL;
}
public function deleteData($basketc) {
if ($basket == NULL)
return NULL;
//connect to the database.
$mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);
mysql_select_db(DATABASE_NAME);
//add new record
$query = "DELETE FROM basket WHERE id_aut = ".$basketc->id_aut;
$result = mysql_query($query);
return NULL;
}
}
?>
basketVO.php
<?php
class BasketVO {
public $id;
public $item;
public $amount;
}
?>