Lost Dark 0 Denunciar post Postado Outubro 21, 2011 Olá a todos com a ajuda de um tuto da Web fiz o seguinte script <?php /*Criando a conexão com BD*/ $conn = mysql_connect('localhost','root','isma2008') or die ('Erro ao conectar'); $db = mysql_select_db('banco') or die ('Erro ao conectar com o banco de dados'); $query = mysql_query("SELECT * FROM sopraelas ORDER BY id")or die ('Erro na query'); $xml = "<xml version='1.0' enconding='UTF-8' ?>\n"; $xml .= "<sapatos> \n"; while($reg = mysql_fetch_object($query)){ $xml .= "\t<sapato>\n"; $xml .= "\t\t<id>$reg->id</id>\n"; $xml .= "\t\t<imagem>$reg->imagem</imagem>\n"; $xml .= "\t\t<descricao>$reg->descricao</descricao> \n"; $xml .= "\t\t<preco>$reg->preco</preco> \n"; $xml .= "\t</sapato>\n"; } $xml .= "</sapatos>"; $ponteiro = fopen('backup.xml', 'w'); //cria um arquivo com o nome backup.xml fwrite($ponteiro, $xml); // salva conteúdo da variável $xml dentro do arquivo backup.xml $ponteiro = fclose($ponteiro); //fecha o arquivo ?> Só não retorna o XML apenas a pagina fica em branco! alguem poderia me ajudar!! Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Outubro 21, 2011 Faz assim ... <?php ob_start(); /* * ... */ $id = 9 ; $imagem = 'http://' ; $descricao = '...' ; $preco = '99.99' ; $Writer = new XMLWriter(); $Writer->openMemory(); $Writer->startDocument( '1.0' , 'utf-8' ) ; $Writer->setIndent(true); $Writer->startElement( 'sapatos' ) ; $Writer->startElement( 'sapato' ) ; $Writer->writeElement ( 'id' , $id ) ; $Writer->writeElement ( 'imagem' , $imagem ) ; $Writer->writeElement ( 'descricao' , $descricao ) ; $Writer->writeElement ( 'preco' , $preco ) ; $Writer->endElement(); $Writer->endElement(); $Output = $Writer->outputMemory ( true ) ; $fHandle = fopen ( 'backup.xml' , 'w+' ) ; fwrite ( $fHandle , $Output ) ; fclose ( $fHandle ) ; header ( 'Content-Type: text/xml;charset=utf-8' ) ; echo $Output; Saída no arquivo e no navegador: <?xml version="1.0" encoding="UTF-8"?> <sapatos> <sapato> <id>9</id> <imagem>http://</imagem> <descricao>...</descricao> <preco>99.99</preco> </sapato> </sapatos> Só utilizar seu while agora para repetir o bloco de código .. <?php $Write = Array ( 0 => Array ( 'id' => 9 , 'imagem' => 'http://' , 'descricao' => 'Sapato de Couro' , 'preco' => '12.90' ) , 1 => Array ( 'id' => 10 , 'imagem' => 'http://' , 'descricao' => 'Sapato' , 'preco' => '99.99' ) ) ; $Writer = new XMLWriter(); $Writer->openMemory(); $Writer->startDocument( '1.0' , 'utf-8' ) ; $Writer->setIndent(true); $Writer->startElement( 'sapatos' ) ; forEach ( $Write as $Nodes ) { $Writer->startElement( 'sapato' ) ; if ( is_array ( $Nodes ) ) forEach ( $Nodes as $nodeName => $nodeValue ) $Writer->writeElement ( $nodeName , $nodeValue ) ; $Writer->endElement(); } $Writer->endElement(); $Output = $Writer->outputMemory ( true ) ; $fHandle = fopen ( 'backup.xml' , 'w+' ) ; fwrite ( $fHandle , $Output ) ; fclose ( $fHandle ) ; Saída no arquivo: <?xml version="1.0" encoding="UTF-8"?> <sapatos> <sapato> <id>9</id> <imagem>http://</imagem> <descricao>Sapato de Couro</descricao> <preco>12.90</preco> </sapato> <sapato> <id>10</id> <imagem>http://</imagem> <descricao>Sapato</descricao> <preco>99.99</preco> </sapato> </sapatos> Basta montar o array, que o código faz o resto .. no seu caso ficaria assim <?php ob_start(); $conn = mysql_connect( 'localhost' , 'root' , 'isma2008' ) or die ( 'Erro ao conectar' ); $db = mysql_select_db( 'banco' ) or die ( 'Erro ao conectar com o banco de dados' ); $query = mysql_query( "SELECT * FROM sopraelas ORDER BY id" ) or die ( 'Erro na query' ); while( $row = mysql_fetch_object( $query ) ) $Write [ ] = $row ; $Writer = new XMLWriter(); $Writer->openMemory(); $Writer->startDocument( '1.0' , 'utf-8' ) ; $Writer->setIndent(true); $Writer->startElement( 'sapatos' ) ; forEach ( $Write as $Nodes ) { $Writer->startElement( 'sapato' ) ; if ( is_array ( $Nodes ) ) forEach ( $Nodes as $nodeName => $nodeValue ) $Writer->writeElement ( $nodeName , $nodeValue ) ; $Writer->endElement(); } $Writer->endElement(); $Output = $Writer->outputMemory ( true ) ; $fHandle = fopen ( 'backup.xml' , 'w+' ) ; fwrite ( $fHandle , $Output ) ; fclose ( $fHandle ) ; header ( 'Content-Type: text/xml;charset=utf-8' ) ; echo $Output; Compartilhar este post Link para o post Compartilhar em outros sites
Lost Dark 0 Denunciar post Postado Outubro 24, 2011 Andrey Knupp valeu mais uma vez pela ajuda, mais os dois exemplo com laço um com array e o outro com a consulta não retornam nada! Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Outubro 25, 2011 Estranho, aqui funcionou perfeitamente, você tem a XMLWriter habilitada em seu servidor ? Compartilhar este post Link para o post Compartilhar em outros sites
Lost Dark 0 Denunciar post Postado Outubro 25, 2011 To testando local com o XAMPP Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Outubro 25, 2011 Não apresenta nenhum erro .. o que acontece ? não escreve no xml .. defina 'não retornam nada' Testando aqui .. retornou normalmente :seta: http://andreyknupp.my.phpcloud.com/XMLWriter.php Compartilhar este post Link para o post Compartilhar em outros sites
Lost Dark 0 Denunciar post Postado Outubro 26, 2011 Reinstalei tudo o XML que busca os dados direto do banco retornou o seguinte <?xml version="1.0" encoding="UTF-8" ?> - <sapatos> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> <sapato /> </sapatos> Então man achei o erro Nesta linha eu alterei de object para array e tive o retorno esperado while( $row = mysql_fetch_object( $query ) <?xml version="1.0" encoding="UTF-8"?> <sapatos> <sapato> <id>1</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>2</id> <imagem>SAM_4275.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>89,00</preco> </sapato> <sapato> <id>3</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>4</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>5</id> <imagem>SAM_4275.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>89,00</preco> </sapato> <sapato> <id>6</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>7</id> <imagem>SAM_4275.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>89,00</preco> </sapato> <sapato> <id>8</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>9</id> <imagem>SAM_4275.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>89,00</preco> </sapato> <sapato> <id>10</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>11</id> <imagem>SAM_4275.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>89,00</preco> </sapato> <sapato> <id>12</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>13</id> <imagem>SAM_4275.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>89,00</preco> </sapato> <sapato> <id>14</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>15</id> <imagem>SAM_4275.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>89,00</preco> </sapato> <sapato> <id>16</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>17</id> <imagem>SAM_4275.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>89,00</preco> </sapato> <sapato> <id>18</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>19</id> <imagem>SAM_4275.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>89,00</preco> </sapato> <sapato> <id>20</id> <imagem>SAM_4273.jpg</imagem> <descricao>Lorum ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>21</id> <imagem>SAM_4348.jpg</imagem> <descricao>DESCRIȂO</descricao> <preco>69,00</preco> </sapato> <sapato> <id>22</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>23</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>24</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>25</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>26</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>27</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>28</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>29</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>30</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>31</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>32</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>33</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>34</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>35</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>36</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>37</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>38</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>39</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>40</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>41</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>42</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>43</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>44</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>45</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>46</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>47</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>48</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>49</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>50</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>51</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>52</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>53</id> <imagem>SAM_4305.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> <sapato> <id>54</id> <imagem>SAM_4295.jpg</imagem> <descricao>Lorum Ipslum</descricao> <preco>69,00</preco> </sapato> </sapatos> Obrigado man pela ajuda vlw mesmo agora vou pesquisar para tentar usar usando o seu PAGINATOR. abs Compartilhar este post Link para o post Compartilhar em outros sites
alphaz 0 Denunciar post Postado Maio 4, 2016 Uma pergunta e se tiver mais que uma imagem e não soubermos quantas imagens tem por item como vai ser gerado o XML ? Algum exemplo por ai ? Compartilhar este post Link para o post Compartilhar em outros sites