Desenvolvimento - PHP

Geração de XML com PHP a partir de uma base de dados MySQL

Saiba como gerar um arquivo XML usando o PHP a partir de dados no MySQL.

por Marcelo Santos Araujo



Criando a base de dados no MySQL

Parte 1 - Base SQL

Primeiramente, iremos criar uma tabela simples no MySQL.

A tabela SQL criada abaixo é apenas um exemplo ilustrativo.

Tente algo do tipo:

CREATE TABLE `agenda_telefonica` (
`id_agenda` int(11) NOT NULL auto_increment,
`nome` varchar(80) NOT NULL default "",
`email_primario` varchar(80) NOT NULL default "",
`email_secundario` varchar(80) NOT NULL default "",
`telefone_residencial` varchar(20) NOT NULL default "",
`telefone_celular` varchar(20) NOT NULL default "",
PRIMARY KEY (`id_agenda`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;


INSERT INTO `agenda_telefonica` VALUES 
(1, "Fulano", "fulano@blabla.com", "fulano2@algum.com", "11111111", "111111111");

INSERT INTO `agenda_telefonica` VALUES 
(2, "beltrano", "beltrano@blabla.com", "beltrano2@algum.com", "222111", "222111");

Obs: experimente criar uma interface em HTML 4.01 com CSS.

Parte 2 - Geração de XML

Usando PHP para geração do XML a partir da base SQL

Agora que temos nossa incrível base de dados, vamos lá:

<?php

/* 
gerador XML a partir de uma Base MySQL
marcelo santos araujo
marcelo[nospam]orionlab.net

*/


$conexao = @mysql_connect("host","usuario","senha");
$db = @mysql_select_db("database");


$consulta = @mysql_query("SELECT * FROM agenda_telefonica;");


$manipulador_arq = fopen("/caminho","w+");


@fwrite($manipulador_arq,"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n\n\n<agenda_telefonica>");


while($exibir = @mysql_fetch_array($consulta)) 
{

$xml = "\n\n<contato>\n";
$xml .= "<nome>$exibir[1]</nome>\n";
$xml .= "<email_primario>$exibir[2]</email_primario>\n";
$xml .= "<email_secundario>$exibir[3]</email_secundario>\n";
$xml .= "<telefone_residencial>$exibir[4]</telefone_residencial>\n";
$xml .= "<telefone_celular>$exibir[5]</telefone_celular>\n";
$xml .= "\n</contato>";

@fwrite($manipulador_arq,$xml); 

}

@fwrite($manipulador_arq,"\n\n</agenda_telefonica>"); 

?>

Passos do script:

1 - conexão MySQL
2 - criação do arquivo agenda_telefonica.xml
3 - Escrita da "tag" <agenda_telefonica>
4 - Geração do XML lendo da base SQL
5 - Escrita da "tag" final </agenda_telefonica>

Resultado Final:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<agenda_telefonica>
<contato>
<nome>Marcelo Santos Araujo</nome>
<email_primario>marcelo@orionlab.net</email_primario>
<email_secundario>nenhum</email_secundario>
<telefone_residencial>XXXXXXXX</telefone_residencial>
<telefone_celular>XXXXXXXXX</telefone_celular>
</contato>
</agenda_telefonica>

Agradeço a sua leitura.
Espero ter colaborado.

abraço a todos,

Marcelo Santos Araujo

Marcelo Santos Araujo

Marcelo Santos Araujo