Gerando um arquivo XML a partir de uma consulta ao MySQL

6
Gerando um arquivo XML a partir de uma consulta ao MySQL Júlio César Martini (e-mail ) é DBA Oracle 9i, formado em Tecnólogo em Informática e trabalha com PHP desde 2000. Foi o primeiro profissional a chegar à marca de 100 artigos publicados no iMasters e é programador PHP/Oracle da Fundação Hermínio Ometto - UNIARARAS. Fala galera! Dando contunuidade a nossa série sobre XML, mostraremos um exemplo de geração de um arquivo XML a partir de uma tabela do MySQL. Queria, antes de tudo, agradecer a todos os leitores que me mandam e-mail com elogios e sugestões para a coluna de PHP, e ainda fazer um grande pedido, que é a colaboração de todos os amigos com o voto no iMasters para o iBest . Este ano todos estamos trabalhando bastante para conquistarmos o prêmio e fazermos uma festa bonita da comunidade. Conto com o apoio de vocês! Valeu. Vamos lá: Estrutura da Tabela Script que vai gerar o arquivo XML <? //CONECTA AO BANCO DE DADOS $conn = @mysql_connect("localhost", "","") or die("ERRO NA CONEXÃO"); //SELECIONA A BASE DE DADOS A SER UTILIZADA 1

description

Gerando um arquivo XML a partir de uma consulta ao MySQL

Transcript of Gerando um arquivo XML a partir de uma consulta ao MySQL

Page 1: Gerando um arquivo XML a partir de uma consulta ao MySQL

Gerando um arquivo XML a partir de uma consulta ao MySQL

Júlio César Martini (e-mail) é DBA Oracle 9i, formado em Tecnólogo em Informática e trabalha com PHP desde 2000. Foi o primeiro profissional a chegar à marca de 100 artigos publicados no iMasters e é programador PHP/Oracle da Fundação Hermínio Ometto - UNIARARAS.

Fala galera! Dando contunuidade a nossa série sobre XML, mostraremos um exemplo de geração de um arquivo XML a partir de uma tabela do MySQL.

Queria, antes de tudo, agradecer a todos os leitores que me mandam e-mail com elogios e sugestões para a coluna de PHP, e ainda fazer um grande pedido, que é a colaboração de todos os amigos com o voto no iMasters para o iBest. Este ano todos estamos trabalhando bastante para conquistarmos o prêmio e fazermos uma festa bonita da comunidade. Conto com o apoio de vocês! Valeu.

Vamos lá:

Estrutura da Tabela

Script que vai gerar o arquivo XML

<?//CONECTA AO BANCO DE DADOS$conn = @mysql_connect("localhost", "","") or die("ERRO NA CONEXÃO");

//SELECIONA A BASE DE DADOS A SER UTILIZADA$db = @mysql_select_db("imasters", $conn) or die("ERRO NA SELEÇÃO DA BASE DE DADOS");

//SQL$sql = @mysql_query("SELECT A.ID, A.NOME, A.EMAIL FROM contatos A") or die("ERRO NO SQL");

1

Page 2: Gerando um arquivo XML a partir de uma consulta ao MySQL

//TOTAL DE LINHAS AFETADAS PELA CONSULTA$row = mysql_num_rows($sql);

//VERIFICA SE A PESQUISA RETORNOU ALGUMA LINHAif($row > 0) {

//ARQUIVO$arquivo = "contato.xml";

//ABRE O ARQUIVO(SE NÃO EXISTIR, CRIA)$ponteiro = fopen($arquivo, "w");

//ESCREVE NO ARQUIVO XMLfwrite($ponteiro, "<?xml version="1.0"?> ");fwrite($ponteiro, "<agenda> ");

for($i=0; $i<$row; $i++) {

 //PEGA OS DADOS DO SQL $id = mysql_result($sql,$i,"A.ID"); $nome = mysql_result($sql,$i,"A.NOME"); $email= mysql_result($sql,$i,"A.EMAIL");

 //MONTA AS TAGS DO XML $conteudo = "<contato> "; $conteudo .= "<id>$id</id> "; $conteudo .= "<nome>$nome</nome> "; $conteudo .= "<email>$email</email> "; $conteudo .= "</contato> ";

 //ESCREVE NO ARQUIVO fwrite($ponteiro, $conteudo);}//FECHA FOR

//FECHA A TAG AGENDAfwrite($ponteiro, "</agenda>");

//FECHA O ARQUIVOfclose($ponteiro);

//MENSAGEMecho "<h2>iMasters - Coluna PHP - Artigo 83</h2><br>";echo "O arquivo <b>".$arquivo."</b> foi gerado com SUCESSO !";}//FECHA IF($row)?>

Analisando o Script

2

Page 3: Gerando um arquivo XML a partir de uma consulta ao MySQL

Linha 09 - Conecta com o banco de dados MySQL (hostname, usuario, senha).Linha 13 - Seleciona a base de dados a ser utilizada. (No meu caso, imasters).Linha 17 - Executa o comando SQL que vai buscar informações para gerar o arquivo.

Linha 22 - Pega o total de linhas afetadas pela consulta SQL, nesse exemplo será retornado 3.Linha 25 - Se retornar algo, prepara para gerar o arquivo XML.Linha 28 - Atribuímos a uma variável o nome do arquivo que vamos gerar.Linha 31 - Abrimos o arquivo no modo escrita, se não existir o arquivo será criado.Linha 34 - Escrevemos no arquivo o cabeçalho do XML

3

Page 4: Gerando um arquivo XML a partir de uma consulta ao MySQL

Linha 37 - Entramos no FOR para pegar os dados da consulta e escrever no arquivo.Linha 40 - Recebe o ID do contato.Linha 41 - Recebe o NOME do contato.Linha 42 - Recebe o EMAIL do contato. Linha 45 - Monta as tags.Linha 52 - Grava os dados no arquivo XML

Temos 3 contatos, portanto, a rotina acima será executada 3 vezes.

PS: Estou testando esse script em ambiente Windows, então para pular linha usei , se vc tiver no Linux use apenas .

Linha 56 - Escrevemos a TAG </agenda> para finalizar.Linha 59 - Fecha o arquivo.Linha 63 - Exibe a mensagem.

Screenshot do arquivo de geração

4

Page 5: Gerando um arquivo XML a partir de uma consulta ao MySQL

Arquivo gerado

Visualizando o arquivo no browser

5

Page 6: Gerando um arquivo XML a partir de uma consulta ao MySQL

Espero que tenham gostado!

DOWNLOAD

Clique AQUI e faça o download do script.

Não deixe de nos enviar críticas ou sugestões para o próximo assunto, afinal a coluna é de vocês.

Boa semana a todos!

6