Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luiz Henrique

[Resolvido] Listar dados do banco sem XML?

Recommended Posts

Olá pessoas,

 

Preciso fazer uma listagem de conteúdo do banco de dados porém sem a utilização do XML, eu consiigo usar o loadVars para isto porém o que consigo retornar é um valor no caso da consulta ao banco sempre me retorna o último valor escrito pelo php dentro da estrutura de repetição,

 

Como posso utilizar o loadVars para listagem? é com ele mesmo ou existe outro método?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

A classe "LoadVars" é o método indicado...

O problema parece ser no "loop" do seu PHP, pois você disse que recebe apenas o último dado do laço... verifique seu o seu laço de repetição está correto.

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim o PHP está certo, ele lista todo o conteúdo perfeitamente o que acontece é que o flash não lê a sequência ou linha por linha.

 

Para XML eu faço um for para ler linha por linha do arquivo.xml, acho que o problema é este tenho que fazer algo semelhante aqui para ler o PHP também, senão como ele vai saber quantas linhas de resultado são? Pois o AS faz uma solicitação e pega um resultado se eu colocar um onEnterFrame ali eu até devo conseguir mas imnagino que tenha lgo mais prático.

 

Aguardo.

 

 

 

A classe "LoadVars" é o método indicado...

O problema parece ser no "loop" do seu PHP, pois você disse que recebe apenas o último dado do laço... verifique seu o seu laço de repetição está correto.

 

Abs.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim o PHP está certo, ele lista todo o conteúdo perfeitamente o que acontece é que o flash não lê a sequência ou linha por linha.

Essa parte você não havia comentado, disse apenas que pegava o último registro.

 

PHP = No laço de repetição insira um caracter em cada resultado que servirá como separador de registro.

Flash = No "onLoad" do seu "LoadVars", recupere a variável do PHP e jogue o resultado em um "array" utilizando o "split" para separar os registros de acordo com o caracter especificado no loop do PHP. Em seguida com um simples "loop", liste os registros deste "array".

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você sempre pode colocar o php para retornar uma array... para o flash e depois usar essa array...

 

Ou seja pega todos os dados que você quer pegar do banco, joga tudo em uma array e depois manda a array para o flash e desmonta ela da maneira que você achar melhor.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Public2004:

 

Não sei se entendi bem este lance de inserir caracter, seria uma espécie de incremento na variável ex:

 

teste1 = valor

teste2 = valor...

 

Mas aí como eu vou saber o fim disto lá no flash?

 

berseck:

 

O laço de repetição para buscar os dados do banco já me retorna um array e é justamente ele que eu passo mas não vai todos os dados como se eu executasse a página de processamento do script no navegador, olha o que eu to fazendo para ficar mais claro, é sóparte do code:

 

 

PHP:

while ($row = mysql_fetch_array($sql)){
    echo "&dados=".($row["campo_bd"]); 
// listo aqui tudo da tabela vindo do banco, então não tenho 
// uma variável aqui, mas estou escrevendo direto um array
// pois a função mysql_fetch_array é um array.
}

FLASH:

enviar.onLoad = function(sucess) {
   if (sucess) {
      trace(this.dados); 
// aqui era para exibir todas as linhas retornadas do php, mas só
// mostra na verdade o 1º registro ou seja o php é executado, vai 
// escrevendo linha por linha mas o flash lê somente a 1ª, quando 
// ele deveria ler todas, estou fazendo algo errado?
   }
};

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não sei como o PHP trata este resultado (printa), pois PHP não é minha praia, mas estou seguindo a mesma lógica do VB (ASP).

 

Em cada laço de repetição, você acrescenta um caracter na variável (ex: "|") que servirá para separar os registros que no caso o resultado seria ex:

registro1|registro2|registro3|registro4, etc... E no Flash você receberia da mesma forma mas como "String". Agora tem que tratar este resultado convertendo a variável que foi recebida como "String" e converter para um "Array", depois é só utilizar o "split" para separar os registros contidos na variável de acordo com o caracter separador "|" e dentro de um laço for você apresenta os registros como quiser...

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Era como eu estava fazendo, mas o retorno era justamente o último dado do banco e me liguei aqui faltava incremento mesmo na variável, "pequeno detalhe", o certo seria:

 

while ($row = mysql_fetch_array($sql)){
   $myArr = $row["campo_bd"].",".$myArr;
}
echo "&dados=$myArr&";

Assim funciona e uso o split para retirar a ( , ) e colocar os valores em uma array no flash, valew a força.

 

Abraço

 

 

 

Não não...

 

Assim não vai funcionar :)

 

Tente assim:

while ($row = mysql_fetch_array($sql)){
$myArr = $row["campo_bd"];
}
echo "&dados=$myArr&";

Abraços

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.