Os nomes dos campos são sempre os mesmos, correcto? Ou pretendes uma função
que se adapte ao tipo de tabelas que eventualmente tiveres? Megalómano,
vamos bloquear os nomes. ;-)
imaginando que a tua tabela é:
tabela_de_tralha
campos:
id,month,profit,expense
em PHP:
function faz_super_ninja_query():void{
$query = "Select * from tabela_de_tralha";
$this->conn = @mysql_pconnect($address, $user, $pass);
mysql_select_db ($bd);
$result = mysql_query($query);
$i=0;
while($row=mysql_fetch_array($result)) {
$dados[$i]["Month"] = $row["month"];
$dados[$i]["Profit"] = $row["profit"];
$dados[$i]["Expense"] = $row["expense"];
$i++
}
return $dados
}
Não testei, mas parece-me bem. No flex recebes uma estrutura idêntica à que
pretendes. Trata de receber o resultado num arrayCollection.
Ficas com algo assim:
dados[1]["Month"] com valor "janeiro"; // ou dados.getItemAt(1).Month
dados[1]["Profit"] etc
...
dados[2]...
perdoa se entendi mal ou se escrevi código errado. Não me é possivel testar
onde estou. Espero que pelo menos ajude alguma coisa. :-)
Miguel Vaz
2008/9/17 Manuel Rosa <[EMAIL PROTECTED]>
> É mesmo apenas uma tabela... como não sabia criar o ArrayCollection de raíz
> tava a ir buscar o nome das colunas da tabela, e outro com os dados:
> function getColumnsFromQuery($address, $user, $pass, $bd, $query)
> {
> $this->conn = @mysql_pconnect($address, $user, $pass);
> mysql_select_db ($bd);
> mysql_query("CREATE VIEW lol AS $query");
> $result = mysql_query("SHOW COLUMNS FROM lol");
> if (!$result) {
> echo 'Could not run query: ' . mysql_error();
> }
> $fieldnames=array();
> if (mysql_num_rows($result) > 0) {
> while ($row = mysql_fetch_assoc($result)) {
> $fieldnames[] = $row['Field'];
> }
> }
> }
>
>
> e,
>
>
> function getValues($address, $user, $pass, $bd, $query) {
> $this->conn = @mysql_pconnect($address, $user, $pass);
> mysql_select_db ($bd);
> $result = mysql_query($query);
> while($row=mysql_fetch_array($result)) {
> $return[] = $row;
> }
> return $return;
> }
>
>
> Se houver uma forma melhor de criar logo o ArrayCollection com as Keys
> sendo o nome das colunas e os Values sendo os respectivos valores na tabela,
> melhor!!!
>
>
>
>
> 2008/9/17 Miguel Vaz <[EMAIL PROTECTED]>
>
>
>> Podes resolver o problema em AS, criando um novo array, mas talvez fosse
>> mais fácil resolver a nivel do mysql. Dizes que tens duas queries, talvez aí
>> possas construir de raiz a estrutura de dados mais facilmente.
>>
>> Podes mostrar os queries e estrutura das 2 tabelas?
>>
>>
>>
>> Miguel Vaz
>>
>>
>> 2008/9/17 Manel <[EMAIL PROTECTED]>
>>
>>
>>> Boas,
>>>
>>> Tendo 2 arrays um com:
>>> {Month, Profit, Expenses} e outro com { {"Jan", 2000, 1500} , {"Feb",
>>> 1000, 200} , { "Mar", 1500, 500} }
>>>
>>> como consigo criar um ArrayCollection do tipo:
>>> public var testValues:ArrayCollection = new ArrayCollection([
>>> {Month: "Jan", Profit:2000, Expenses:1500},
>>> {Month: "Feb", Profit:1000, Expenses:200},
>>> {Month: "Mar", Profit:1500, Expenses:500}
>>> ]);
>>>
>>> Isto porque quero alimentar um gráfico com um arraycollection obtido
>>> através de duas queries mysql, sendo que recebo das mesmas um array
>>> com o nome das colunas, e outro com os respectivos valores em cada
>>> linha.
>>>
>>> Para depois ter qualquer coisa do tipo:
>>>
>>>
>>> var vAxis:CategoryAxis = new CategoryAxis();
>>> vAxis.categoryField = "Month" ;
>>> vAxis.dataProvider = testValues;
>>> myChart.verticalAxis = vAxis;
>>> myChart.dataProvider = testValues;
>>> myChart.series = mySeries;
>>>
>>> Espero ter-me feito entender.
>>>
>>> Desde já obrigado.
>>> [ ]
>>> manel
>>>
>>>
>>
>>
>>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade
Portuguesa de Desenvolvimento de RIAs - www.riapt.org" do Grupos Google.
Para enviar mensagens para este grupo, envie um email para
[email protected]
Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
Para mais opções, visite este grupo em
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---