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

Você também pode gostar