Pra começar, vou mostrar como construir uma enquete utilizando o Flex + PHP.
Vamos começar com o banco de dados, abram seu adminitrador de banco de dados favorito e crie as seguintes tabelas:
Tabela Pergunta:
Tabela Respostas:
Vamos criar agora nossos arquivos PHP que será responsável em fazer todos os trâmites legais para o bom funcionamento da nossa enquete. Abram o seu editor PHP favorito e digitem o seguinte código:
Arquivo: config.php
Arquivo: vota.php
Arquivo: enq_pegaDados.php
Bom pessoal, na parte do PHP é isso, notem que no arquivo enq_pegaDados.php tudo que eu retorno, retorno em XML, ele é o responsável em montar a enquete (a pergunta e as respostas). Não vou me extender no código PHP, porque o nosso artigo é voltado para o Flex e não para o PHP, o código não é muito complicado só prestem atenção nessa parte: while ( $resp = mysql_fetch_object( $qryresp ) ), o Flex recebe os dados como objeto, portanto devemos usar o mysql_fetch_object.
Agora vamos entrar na parte que nos interessa, vamos ao Flex, aqui no meu post eu estarei sempre me referindo ao Flex Builder 4.0, mas isso não impede que você utilize um editor a sua escolha.
Abra o Flex e Crie um projeto novo:
Na próxima tela deixe a primeira opção marcada:
Escolha um nome para o projeto, no nosso caso coloque: Enquete
Click agora em finish e o Flex criará o projeto, ele criará o arquivo Enquete.mxml com o seguinte conteúdo:
<?xml version=”1.0″ encoding=”utf-8″?>
Crie dois viewStates, um com o nome enquete e outro com o nome resultado
Em nome coloque enquete, em Based on (Baseado em), deixe e check a caixa Set as start state(Fixe como state inicial).
Isso fará com que o state enquete seja carregado primeiro. Bom, agora sua aba State deve estar desse jeito:
Selecione e repita os passos novamente para criar outro viewState, mas agora não marque a caixa Set as start state e coloque o nome como resultado.
Nossas stateViews já estão criadas, a primeira servirá para mostrar a enquete e a segunda servirá para mostrar o resultado.
Nosso código agora estará da seguinte forma:
Notem que logo abaixo de currentState=”enquete” eu acrescentei a seguinte linha:
horizontalScrollPolicy=”off” verticalScrollPolicy=”off”
ela serve para que não seja criado scrolls na horizontal e vertical da nossa aplicação. Se ainda não estiver, selecione na Aba State a viewState enquete para que a mesma fique ativa, arraste agora um Panel da paleta Layout para a nossa aplicação e modifique as suas propriedades para as seguintes:
Arraste agora um vBox, que fica na paleta Layout, para dentro do Panel e mude suas propriedades para as seguintes:
Nosso código agora deverá parecer com isso:
Vamos incluir agora, um , 4 1 e 2 , isso tudo dentro do VBox “vBoxEnquete” criado anteriormente, depois de criados, mude suas propriedades para as seguintes:
nesse código, logo após o HTTPService, com o ID pegaDados, ser executado e pegar as informações, que serão retornadas no formato XML, do nosso script PHP, executará a função handleDsPegaDadosResult(event) que será criada logo mais na seção ActionScript. esse HTTPService será o responsável em ver se o usuário já votou e de atualizar as barras de progresso da nossa enquete. O formato que eu usei foi o XML e4x (falarei do formato XML e4x num outro post). Criamos também um XMLListCollection que será usado no nosso AS
Temos também o HTTPService com o ID vota, que será responsável por fazer a votação, adicionando a mesma na tabela respostas. Ao terminar de fazer a votação, ele executará a função atualizaDados();.
Dentro desse HTTPService vamos passar o valor do nosso radioButton selecionado pelo usuário, esse parâmetro é passado pela tag mx:request, lá no arquivo PHP pegamos esse valor e colocamos na variável $voto – $votou = $_GET[votou];
Agora vamos criar nosso script AS, que dará as funcionalidades necessárias as nossas enquetes, abaixo do código anterior (HTTPServices) vamos adicionar nosso AS, conforme script abaixo:
Vamos a explicação do nosso código acima, as 3 primeiras linhas do nosso código
import mx.rpc.events.ResultEvent;
import mx.controls.*
import mx.events.*
é pra importar todos as classes necessárias para que nossa enquete funcione. Em seguida eu crio 3 variável que será usada na função handleDsPegaDadosResult, essa função será executada logo após o HTTPService pegar os dados do PHP, ela tratará o XML e colocará dentro da XMLListCollection. Logo depois eu executo a função chegaVoto();, onde eu testo se o usuário pode ou não votar.
A função chamada – chegaVoto() – serve para checar se o usuário já votou ou não, se ele votou, então nosso código PHP retornará um XML com a opção NEGADO e assim, não será liberado o botão Votar e nem os radioButtons – rgEnquete. Se o usuário ainda não votou, então tanto o botão Votar como os radioButtons, serão liberados para votação.
A função – habilitaBotaoVotar() – serve pra que o usuário não consiga votar sem antes clicar em uma das opções, enquanto o usuário não selecionar uma opção, o botão Votar (btnVotar) ficará setado como false, ficando disponível somente depois de selecianada uma das opções.
A função gauge( ) do nosso código, é que pega os dados do XML que foi retornado pelo HTTPService pegaDados e atualizará as barras de progresso da nossa enquete com a contagem dos votos.
Agora vamos mudar algumas propriedades na nossa enquete, na viewState enquete na tag
Excellent Blog! I would like to thank for the efforts you have made in writing this post. I am hoping the same best work from you in the future as well. I wanted to thank you for this websites! Thanks for sharing. Great websites!
Xo สล็อตออนไลน์ โปรสล็อต XO เกมออนไลน์ทำเงินยอดฮิต เกมสล็อต xopg.net คือเกมทำเงิน reeffutures2018 ผ่านทางออนไลน์อย่างหนึ่ง ที่เล่นง่าย และได้เงินไว แถมยังลงทุนด้วยเงินน้อย mavoixtavoie ทำเงินได้ตลอดเวลา ซึ่งหลายคนอาจได้เคยเห็นรีวิวเรื่องของ สล็อต xo สล็อตออนไลน์ ไว้มากมาย เทคนิคสล็อต ทั้งเรื่องการเล่นแล้วได้เงิน herbalpertpresents และเล่น สล็อต แล้วไม่ได้เงิน นั่นเองค่ะ ซึ่งการที่คุณจะเล่นได้เงินหรือไม่ได้เงินนั้น ส่วนหนึ่งก็เป็นในเรื่องของดวงเข้ามาเกี่ยวด้วย northbristol เพราะสล็อตเป็นเกมออนไลน์เสี่ยงโชค ทดลองเล่น xo เกมหนึ่งซึ่งจะมีสูตร หรือเทคนิคเข้ามาช่วย gclub เพื่อโกงดวงอยู่เสมอซึ่งในเว็บของเรา สมัคร xo ก็มีมาแนะนำไว้ให้เห็นกันมากมายหลายสูตร
เราคือผู้ให้บริการ superslot เกมสล็อตออนไลน์ northbristol สำหรับบนมือถือ reeffutures2018อันดับ 1 ของประเทศไทย โปร 100 รองรับทั้ง iPhone หรือระบบ IOS และ Android เทคนิคสล็อต เว็บ สล็อต herbalpertpresents ของเรามีเกมส์ให้เลือกเล่นกว่า 200 เกมส์ mavoixtavoie ไม่ว่าจะเป็น xopg.net/ สล็อตยิงปลา เสือมังกร รูเล็ท แข่งม้า ไฮโล เกมคาสิโน Casino และ gclubอีกมากมาย ทดลองเล่นสล็อต เติมเงิน ถอนเงินผ่านระบบอัตโนมัติ. เพื่อนๆ slotsuper สามารถ ดาวน์โหลด ผ่านทาง QR Code ข้างล้างนี้ได้เลย สมัคร super
AMBBET แน่นอนการเดินทางโดยไร้จุดหมาย เว็บคาสิโน ทำให้เราเสียเวลาเป็นอย่างมาก ambbet โปร ผู้เล่นควรตั้งเป้าหมายว่า เกมสล็อต จะได้กำไรเท่าไหร่ถึงจะพอ สมัคร amb ซึ่งวิธีการตั้งเป้าหมายนั้น reeffutures2018 เราจะกำหนดจากความเป็นจริง gclub โดยคำนวณจากเงินทุนที่มี AMB สำหรับเกมสล็อตเอากำไรสัก บาคาร่า 40%-50% ของ mavoixtavoie ทุนที่มีก็เพียงพอแล้ว หากอยาก xopg.net ได้เยอะต้องให้เข้าเกมโบนัส northbristol หรือรางวัลแจ็คพอตเท่านั้น เกมคาสิโน ถ้าเป็นการจ่ายปกติ herbalpertpresents ไม่ควรเกินนี้จ้า
Your work is very good and I appreciate you and hopping for some more informative posts. Thank you for sharing great information to us.