Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Estou com um problema, ao gerar um XML. Eu tenho uma tabela pedidos, a tabela produtos e a tabela clientes. Eu preciso gerar um XML somente de clientes com status ativo, porém cada cliente tem um pedido, então no XML eu tenho que setar os produtos de cada cliente, isso também por data. Ex.: Vou digitar no campo de data uma data, pra filtrar todos os clientes que fez pedidos nesta data que pesquisei. deverá retornar vários resultados.
Mais primeiro o sistema deve selecionar todos os dados do pedido através da data, depois terá que selecionar todos os usuários e produtos de cada linha que a seleção do pedido retornou. Eu consigo fazer tudo isso.
Mais acontece que eu não tenho sucesso ao gerar o XML, o arquivo XML só me retorna as tags mais sem valor.
Por favor, segue o código:
$situacao = filter_input(INPUT_GET, 'situacao', FILTER_DEFAULT);
$data = filter_input(INPUT_GET, 'data', FILTER_DEFAULT);
$sts = 'ativo';
$sql = new Read;
$sql->ExeRead("ws_pedidos", "WHERE data_pedido = :data AND status_pedido = 3 GROUP BY cliente_id ORDER BY data_pedido ASC", "data={$data}");
//header('Content-Disposition: attachment; filename="xml-all-' . $data . '.xml"');
$xml = new XMLWriter;
$xml->openMemory();
if ($sql->getResult()):
while ($resPedido = $sql->getResult()):
$sql->ExeRead("uni_usuario", "WHERE id = :uid AND situacao = :sts", "uid={$resPedido->cliente_id}&sts={$sts}");
if ($sql->getResult()):
$cliente = $sql->getResult()[0];
endif;
echo '<pre>';
var_dump($resPedido);
echo '</pre>';
$sql->ExeRead("ws_posts", "WHERE post_id = :pid", "pid={$resPedido->produto_id}");
if ($sql->getResult()):
$produto = $sql->getResult()[0];
endif;
$xml->startElement("dados_cliente");
$xml->startElement("id_cliente");
$xml->text("{$cliente->id}");
$xml->endElement();
$xml->startElement("nome");
$xml->text("{$cliente->nome} {$cliente->sobrenome}");
$xml->endElement();
$xml->startElement("documento");
$xml->text("$cliente->cpf");
$xml->endElement();
//$xml->writeAttribute("nome", "{$album->nome} {$album->sobrenome}");
$xml->startElement("nascimento");
$xml->text("$cliente->nascimento");
$xml->endElement();
$xml->startElement("endereco");
$xml->text("$cliente->endereco");
$xml->endElement();
$xml->startElement("numero");
$xml->text("$cliente->numero");
$xml->endElement();
$xml->startElement("complemento");
$xml->text("$cliente->complemento");
$xml->endElement();
$xml->startElement("cidade");
$xml->text("{$cliente->cidade}");
$xml->endElement();
$xml->startElement("uf");
$xml->text("$cliente->estado");
$xml->endElement();
$xml->startElement("cep");
$xml->text("$cliente->cep");
$xml->endElement();
$xml->startElement("bairro");
$xml->text("$cliente->bairro");
$xml->endElement();
$xml->startElement("telefone");
$xml->text("{$cliente->fone}");
$xml->endElement();
$xml->endElement();
//termina cliente
//inicia produto
$xml->startElement("produto");
$xml->startElement("id_produto");
$xml->text("$produto->post_id");
$xml->endElement();
$xml->startElement("nome_produto");
$xml->text("$produto->post_title");
$xml->endElement();
$xml->startElement("qtde");
$xml->text("$produto->post_frasco");
$xml->endElement();
$xml->startElement("unidade");
$xml->text("Frasco");
$xml->endElement();
$xml->startElement("frete");
$xml->text("$produto->post_frete");
$xml->endElement();
$xml->startElement("conteuto");
$xml->text("$produto->post_content");
$xml->endElement();
$xml->startElement("preco");
$xml->text("$produto->post_price");
$xml->endElement();
$xml->endElement();
endwhile;
endif;
$xml->endElement();
Att,
Alisson Maciel
Carregando comentários...