Você está na página 1de 2

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

Publicado em: 25/11/2004

Por Marcelo Santos Araujo


marcelo@orionlab.net

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