Dear Larry,
I recently got your book and eagerly read it (I've read and tried 7 chapters in 3 days).
I knew Flex when version 3 was in beta, but never programmed anything.
I've just finished chapter 8 and tried to bind the drop down list showing the Departments using a simple query to the database in the same fashion you populate the grid with the employees.
The PHP file i'm using is (getDepartments.php):
<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="utf-8" ?><departments>';
require_once('mysql.inc.php');
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, 3306);
if ($dbc) {
$q = "SELECT * from departments ORDER by 1"; //printf("\n%s",$q);
$r = mysqli_query($dbc, $q);
if (mysqli_num_rows($r) > 0) {
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
echo "<department>
<id>{$row['id'] }</id>
<Name>{$row['name'] }</Name>
</department>
";} // End of WHILE loop
} // End of mysqli_num_rows( ) IF
} // End of $dbc IF
echo '</departments>';
?>
Inside the declarations section I declare:
<s:HTTPService id="getDepartmentsService" url="http://localhost/~Jorge/flex4ch08/getDepartments.php"
method="GET" resultFormat="e4x"
result="getDepartmentsResult(event)" fault="serviceFault(event)">
</s:HTTPService>
I included the script:
private function getDepartmentsResult(event:ResultEvent):void {
departmentsList= event.result.department;
}
And in the MXML application I tried:
<mx:FormItem label="Department">
<s:DropDownList id="employeeDepartment" dataProvider="{departmentsList}" labelField="name" prompt="Select one:"></s:DropDownList></mx:FormItem>
And keep getting the error:
1067: Implicit coercion of a value of type XMLList to an unrelated type mx.collections:IList
I thought I was very clever trying to replace the hardcoded list you included with this query which is now giving me headaches.
Can you help me?