Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 15th, 2012  |  syntax: None  |  size: 2.41 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. $dados = mysql_query("SELECT * FROM cliente") or die("Erro ao selecionar dados do cliente" . mysql_error() );
  2.        
  3.         if(mysql_num_rows($dados) > 0)
  4.         {
  5.                 $dom = new DOMDocument("1.0", "UTF-8");
  6.                 $dom->preserveWhiteSpace = false;
  7.                 $dom->formatOutput = true;
  8.        
  9.                 //criando o nó principal (root)
  10.                 $root = $dom->createElement("Cadastro");
  11.                
  12.                 while( $reg = mysql_fetch_assoc($dados) )
  13.                 {
  14.                         //cria os elementos
  15.                         $cliente = $dom->createElement("cliente");
  16.                         $idcliente = $dom->createElement("idcliente", $reg['idcliente']);
  17.                         $nmcliente = $dom->createElement("nmcliente", $reg['nmcliente']);
  18.                         $dcendereco = $dom->createElement("dcendereco", $reg['dcendereco']);
  19.                         $enestadocivil = $dom->createElement("enestadocivil", estado_civil($reg['enestadocivil']) );
  20.                         $ensexo = $dom->createElement("ensexo", sexo($reg['ensexo']) );
  21.                         $txcomentario = $dom->createElement("txcomentario", $reg['txcomentario']);
  22.                         $hoobies = $dom->createElement("hoobies");
  23.                        
  24.                        
  25.                
  26.                         //adiciona os nós no cliente
  27.                         $cliente->appendChild($idcliente)->setAttribute('dtcadastro', $reg['dtcadastro']);
  28.                         $cliente->appendChild($nmcliente)->setAttribute('dtnascimento', $reg['dtnascimento']);
  29.                         $cliente->appendChild($dcendereco);
  30.                         $cliente->appendChild($enestadocivil)->setAttribute('valor', $reg['enestadocivil']);
  31.                         $cliente->appendChild($ensexo)->setAttribute('valor', $reg['ensexo']);
  32.                         $cliente->appendChild($txcomentario);
  33.                         $hoobies = $cliente->appendChild($hoobies);
  34.                        
  35.                         //hobbies
  36.                         $query_hobbies = "SELECT hoobies.*
  37.                                                                 FROM hoobies
  38.                                                                 WHERE hoobies.idhoobies
  39.                                                                         IN(SELECT hoobies_cliente.idhoobies
  40.                                                                                 FROM hoobies_cliente
  41.                                                                                 WHERE hoobies_cliente.idcliente = " . $reg['idcliente'] . ")
  42.                                                                 GROUP BY hoobies.idhoobies";
  43.  
  44.                         $rs_hobbies = mysql_query($query_hobbies) or die('Erro na consulta aos hobbies' . mysql_error() );
  45.                        
  46.                         if( mysql_num_rows($rs_hobbies) > 0)
  47.                         {
  48.                                 while( $reg = mysql_fetch_assoc($rs_hobbies) )
  49.                                 {
  50.                                         $hoob = $dom->createElement("idhoobies", $reg['idhoobies']);
  51.                                         $hoobies->appendChild($hoob);
  52.                                         $hoob = $dom->createElement("nmhoobies", $reg['nmhoobies']);
  53.                                         $hoobies->appendChild($hoob);
  54.                                 }
  55.                         }
  56.                        
  57.                         $root->appendChild($cliente);
  58.                 }
  59.                
  60.                 //adiciona o nó contato na raiz
  61.                 $dom->appendChild($root);
  62.                        
  63.                 //cabeçalho da página
  64.                 header("Content-Type: text/xml");
  65.                
  66.                 //exibe xml
  67.                 echo $dom->saveXML();  
  68.         }