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 AraujoParte 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