Olá pessoal...
Me desculpem pela ausência durante as últimas semanas mas estive em um período de transições mas agora, voltei com força total para tentar passar o que sei a vocês.
Nesta semana, seguindo um roteiro lógico depois dos primeiros tutoriais que escrevi vou mostrar como retornar dados do MySQL para um datagrid em Flex, para que não fique muito extenso este tutorial, eu o divide em 3 partes. Então sem mais delongas vamos ao que interessa!
1º. Passo: Configurar os softwares necessários, em caso de dúvida basta acessar o tutorial sobre de configuração clicando aqui.
2º. Passo: Criar a tabela de dados que vamos utilizar para armazenar as informações, basta copiar o código abaixo e executar em seu gerenciador de banco de dados.
CREATE DATABASE `conexao`;
USE `conexao`;
DROP TABLE IF EXISTS `clientes`;
CREATE TABLE `clientes` (
`id` int(11) NOT NULL auto_increment,
`nome` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
insert into `clientes`(`id`,`nome`) values (1,'Dheyson'),(2,'José'),(3,'Maria'),(4,'Júlio'),(5,'Marcos'),(6,'Eliana'),(7,'Cláudia'),(8,'Joaquim'),(9,'Carla'),(10,'Márcia');
3º. Passo: Nesta etapa vou mostrar a vocês uma classe de conexão genérica com o banco de dados MySQL, muito útil em meus desenvolvimentos. Vou demonstrar o apenas o código fonte da classe, pois se for explicar passo-a-passo todo código vou fugir ao foco do tutorial, mas me coloco a disposição para qualquer esclarecimento em caso de dúvidas.
/* Classe responsável pela conexão com o banco */
class Conn {
/* Variáveis Globais */
private $servidor;
private $usuario;
private $senha;
private $banco;
private $conn;
private $resultado;
private $sql;
/* Método Construtor */
public function Conn($server, $user, $pass, $banco) {
$this->setServidor($server);
$this->setUsuario($user);
$this->setSenha($pass);
$this->setBanco($banco);
}
/* Sets */
public function setServidor($server) {
$this->servidor = $server;
}
public function setUsuario($user) {
$this->usuario = $user;
}
public function setSenha($pass) {
$this->senha = $pass;
}
public function setBanco($banco) {
$this->banco = $banco;
}
/* Método que abre a conexão com o Banco de Dados */
public function connDB() {
$this->Conn = mysql_connect($this->servidor, $this->usuario, $this->senha);
if(!$this->Conn) {
echo "<p>Não foi possível conectar-se ao servidor MySQL. <br>Erro MySQL: ".mysql_error()."</p>";
exit();
} elseif (!mysql_select_db($this->banco, $this->Conn)) {
echo "<p>Não foi possível selecionar o banco de dados desejado. <br>Erro MySQL: ".mysql_error()."</p>";
exit();
}
}
/* Método que fecha a conexão com o Banco de Dados */
public function closeConnDB() {
return mysql_close($this->Conn);
}
/* Método que executa comando SQL */
public function runQuery($sql) {
$this->connDB();
$this->sql = $sql;
if($this->resultado = mysql_query($this->sql)) {
$this->closeConnDB();
return $this->resultado;
} else {
exit("<p>Não foi possível executar o comando solicitado. <br>Erro MySQL: ".mysql_error()."</p>");
$this->closeConnDB();
}
}
/* Método instância um objeto da classe de conexão */
static public function conexao(){
$con = new Conn('localhost', 'root', '123456', 'conexao');
return $con;
}
}
?>
4º. Passo: Salve a classe acima demonstrada com o nome de Conn.php dentro do diretório: ...\amfphp\services\vo\br\com\conexao\valuesObjects
5º. Passo: Vamos criar uma classe para manipular a tabela clientes que foi criada em nossa base de dados. Salve esta classe com o nome de Cliente.php dentro do mesmo diretório demonstrado no 4º. Passo. O código da classe deverá ficar conforme descrito abaixo.
include_once("Conn.php");
/* Classe responsável pelo tratamento dos clientes */
class Cliente {
/* Aponta para classe ActionScript do projeto Flex */
public $_explicitType = "br.com.conexao.valueObjects.Cliente";
/* Variáveis globais */
public $id;
public $nome;
/* Método Construtor */
public function Cliente() {}
/* Sets */
public function setId($cod) {
$this->id = $cod;
}
public function setNome($name) {
$this->nome = $name;
}
/* Gets */
public function getId() {
return $this->id;
}
public function getNome() {
return $this->nome;
}
/* Acessos ao banco de dados
Aqui o php recebe o retorno do MySQL e retorna ao Flex um Array com os registros da consulta.
*/
public function buscarTodos() {
Conn::conexao()->connDB();
$resultado = Conn::conexao()->runQuery("select * from clientes order by nome");
$i=0;
while ($obj = mysql_fetch_object($resultado)) {
$cli = new Cliente();
$cli->setId($obj->id);
$cli->setNome($obj->nome);
$retornoArray[$i] = $cli; A parte de back-end já esta completa. A hierarquia de arquivos deve ter ficado conforme a imagem abaixo: Ok terminado estas etapas daremos seguimento na parte II, onde vamos criar nossas classes ActionScript e preparar nosso projeto Flex para acesso às informações do banco. Até lá e abraço a todos.
$i++;
}
return $retornoArray;
}
}
?>

Nenhum comentário:
Postar um comentário