Array Collection çıktı alma

2 Cevap php
/*
    	[Bindable]
    	public var rows1:ArrayCollection=new ArrayCollection([
    		['Google', 		[{Projectname:"1", Client:0},
            					{Projectname:"2", Client:1},
            					{Projectname:"3", Client:2},
            					{Projectname:"4", Client:3}]
        	],
        	['Yahoo',				[{Projectname:"1", Client:4},
            					{Projectname:"2", Client:1},
            					{Projectname:"3", Client:2},
            					{Projectname:"4", Client:1}]
        	],
    	]);
    	*/

Ben bir tablo var ve ben çok güçlü değilim geri Flex bu formatta çıktı almak gerekiyor ... benim php yanlış gidiyorum herkes yukarıda bu çıktıyı atmak değil ki beni işaret edebilir.

PHP kodu:

public function getAllProjects()
{
	$findings=array();
	$sql="SELECT id,projectname FROM project";
	$result=mysql_query($sql);
	if(!$result)
	{
		throw new Exception("QUERY FAILED.\n\n".mysql_error());
	}
	while(list($id,$projectname)=mysql_fetch_row($result))
	{
		$dataArray=array();
		$sql="SELECT state AS state FROM project WHERE id= '$id'";
		$result2=mysql_query($sql);
		if(!$result2)
		{
			throw new Exception("QUERY FAILED.\n\n".mysql_error());
		}
		while($row=mysql_fetch_array($result2))
		{
			$dataArray[]=$row;
		}
		$findings[]=array($projectname,$dataArray);
	}//while
	return $findings;
}

PHP ArrayCollection olmadığını biliyoruz.

PHP istenen çıkış

$rows=array(
        array('ssss1232',array(array("projectname"=>"1", "clientname"=>0),
            array("projectname"=>"2", "clientname"=>1),
            array("projectname"=>"3", "clientname"=>3),
            array("projectname"=>"4", "clientname"=>3))
        	),
        	array('sssss',array(array("projectname"=>"1", "clientname"=>0),
            		array("projectname"=>"2", "clientname"=>1),
            		array("projectname"=>"3", "clientname"=>2),
            		array("projectname"=>"4", "clientname"=>1))
        	),

    );

2 Cevap

Eğer tarif ettik nihai biçimi JSON gibi görünüyor. Sadece yapmak mümkün olabilir

$projectData = getAllProjects();
...
$projectDataFormatted = json_encode($projectData);

Eğer başarılı bir ArrayCollection gibi görünen bir dize yapmak ve esnek göndermek bile, yine de esnek tarafında geri ayrıştırmak gerekir - sadece bir dizeden bir dizi toplama başlatmak olamaz. Json kullanın (burada basit olurdu, ama bir library esnek tarafında bunu ayrıştırmak gerekir) veya xml (esnek e4x için yerel destek var) yerine.