Rafael Laurindo Postado Janeiro 25, 2010 Denunciar Share Postado Janeiro 25, 2010 (editado) Galera, esse código abaixo só está mostrando somente a última linha da consulta.<?php $pdo = new PDO('mysql:host=localhost;dbname=sample', 'root', ''); $pessoas = " select * from pessoa order by nome "; $stmt = $pdo->query($pessoas); //gera o XML------------------------------------------------- $charset = 'UTF-8'; $encoding = "\"".$charset."\""; while ($pessoa = $stmt->fetch()){ $xml = "\n<pessoa>\n"; $xml .= "\t<id>$pessoa[id]</id>\n"; $xml .= "\t<nome>$pessoa[nome]</nome>\n"; $xml .= "</pessoa>"; } header("Content-type: application/xml; $charset"); $header = "<?xml version=\"1.0\" encoding=$encoding ?>"; //o \" insere um ". Não pode ficar enconstado em outra string echo $header; echo $xml;Alguém pode me dizer porque? Editado Janeiro 26, 2010 por Rafael Laurindo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Janeiro 25, 2010 Denunciar Share Postado Janeiro 25, 2010 Só está mostrando o código da "última pessoa", é isso ?Se for isso, veja essa linha:$xml = "\n<pessoa>\n";Você está zerando a variável nessa linha. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Janeiro 25, 2010 Denunciar Share Postado Janeiro 25, 2010 é isto mesmocoloque$xml = "";while ($pessoa = $stmt->fetch()){ $xml .= "\n<pessoa>\n"; $xml .= "\t<id>$pessoa[id]</id>\n"; $xml .= "\t<nome>$pessoa[nome]</nome>\n"; $xml .= "</pessoa>";} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Laurindo Postado Janeiro 26, 2010 Autor Denunciar Share Postado Janeiro 26, 2010 (editado) É verdade. Mas agora está retornando as linhas à saber:Erro no processamento de XML: caracteres sem utilidade após um elemento do documentoPosição: http://localhost/SAMPLE/make_xml.phpNúmero da linha 6, coluna 1:<pessoa>^No código fonte aparece isso<?xml version="1.0" encoding="UTF-8" ?> <pessoa> <id>2</id> <nome>Rafael</nome> </pessoa> <pessoa> <id>1</id> <nome>Tatiana</nome> </pessoa>Não entendi nada. Ele mostra erro, mas gera o código certinho no código fonte. O mais engraçado é, se eu mantiver só um registro no banco, aí sim, ele da erro. Alguma sugestão? Editado Janeiro 26, 2010 por Rafael Laurindo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 26, 2010 Denunciar Share Postado Janeiro 26, 2010 (editado) <?php $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', ''); $pessoas = " SELECT * FROM demo ORDER BY id "; $stmt = $pdo->query($pessoas); //gera o XML------------------------------------------------- $charset = 'UTF-8'; $encoding = "\"".$charset."\""; $xml = '<dados>'; while ($pessoa = $stmt->fetch()) { $xml.= sprintf('<registro>'); $xml.= sprintf('<id>%d</id>', $pessoa['id']); $xml.= sprintf('<data>%s</data>', $pessoa['data']); $xml.= sprintf('<valor>%s</valor>', $pessoa['valor']); $xml.= sprintf('</registro>'); } $xml .= '</dados>'; $header = '<?xml version="1.0" encoding='.$encoding.' ?>'; $output = $header.$xml; header("Content-type: application/xml; $charset"); echo $output; Saida <?xml version="1.0" encoding="UTF-8" ?><dados><registro><id>1</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>2</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>3</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>4</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>5</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>6</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>7</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>8</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>9</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>10</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>11</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>12</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>13</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>14</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>15</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>16</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>17</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>18</id><data>2010-01-15 16:06:34</data><valor></valor></registro><registro><id>19</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>20</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>21</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>22</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>23</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>24</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>25</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>26</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>27</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>28</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>29</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>30</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>31</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>32</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>33</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>34</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>35</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>36</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>37</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>38</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>39</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>40</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>41</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>42</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>43</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>44</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>45</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>46</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>47</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>48</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>49</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>50</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>51</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>52</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>53</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>54</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>55</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>56</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>57</id><data>2010-01-15 16:06:35</data><valor></valor></registro><registro><id>58</id><data>2010-01-15 16:06:35</data><valor></valor></registro></dados> Editado Janeiro 26, 2010 por ursolouco Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Laurindo Postado Janeiro 26, 2010 Autor Denunciar Share Postado Janeiro 26, 2010 (editado) O que eu entendi, é que precisa ter uma tag global, nesse caso é a <dados></dados>, certo? Editado Janeiro 26, 2010 por Rafael Laurindo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Janeiro 26, 2010 Denunciar Share Postado Janeiro 26, 2010 Bom, vamos lá... pegando na mãozinha do programadorcomando:SHOW CREATE TABLE demo; resultado: CREATE TABLE `demo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `data` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `valor` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=latin1 preenchendo a tabela: insert into `demo` (`id`, `data`, `valor`) values('1','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('2','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('3','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('4','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('5','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('6','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('7','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('8','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('9','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('10','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('11','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('12','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('13','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('14','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('15','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('16','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('17','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('18','2010-01-15 16:06:34',NULL); insert into `demo` (`id`, `data`, `valor`) values('19','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('20','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('21','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('22','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('23','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('24','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('25','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('26','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('27','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('28','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('29','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('30','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('31','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('32','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('33','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('34','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('35','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('36','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('37','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('38','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('39','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('40','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('41','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('42','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('43','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('44','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('45','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('46','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('47','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('48','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('49','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('50','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('51','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('52','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('53','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('54','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('55','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('56','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('57','2010-01-15 16:06:35',NULL); insert into `demo` (`id`, `data`, `valor`) values('58','2010-01-15 16:06:35',NULL); sb.php <?php $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', ''); $pessoas = " SELECT * FROM demo ORDER BY id "; $stmt = $pdo->query($pessoas); //gera o XML------------------------------------------------- $charset = 'UTF-8'; $encoding = "\"".$charset."\""; $xml = '<dados>'; while ($pessoa = $stmt->fetch()) { $xml.= sprintf('<registro>'); $xml.= sprintf('<id>%d</id>', $pessoa['id']); $xml.= sprintf('<data>%s</data>', $pessoa['data']); $xml.= sprintf('<valor>%s</valor>', $pessoa['valor']); $xml.= sprintf('</registro>'); } $xml .= '</dados>'; $header = '<?xml version="1.0" encoding='.$encoding.' ?>'; $output = $header.$xml; header("Content-type: application/xml; $charset"); echo $output; <?php $pdo = new PDO('mysql:host=localhost;dbname=sample', 'root', ''); $pessoas = " select * from pessoa order by nome "; $stmt = $pdo->query($pessoas); //gera o XML------------------------------------------------- $charset = 'UTF-8'; $encoding = "\"".$charset."\""; $header = "<?xml version=\"1.0\" encoding=$encoding ?>"; //o \" insere um ". Não pode ficar enconstado em outra string $xml = ''; while ($pessoa = $stmt->fetch()){ $xml .= sprintf('<pessoa>'); $xml .= sprintf('<id>%d</id>',$pessoa['id']); $xml .= sprintf('<nome>%s</nome>',$pessoa['nome']); $xml .= sprintf('</pessoa>'); } $output = $header.$xml; //header primeiro, corpo depois header("Content-type: application/xml; $charset"); echo $output;Erro no processamento de XML: caracteres sem utilidade após um elemento do documentoPosição: http://localhost/SAMPLE/make_xml.phpNúmero da linha 1, coluna 86:<?xml version="1.0" encoding="UTF-8" ?><pessoa><id>2</id><nome>Rafael</nome></pessoa><pessoa><id>1</id><nome>Tatiana</nome></pessoa>---------------------------------------------------------------------------------------------------------------------------------------------------^E agora? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Laurindo Postado Janeiro 26, 2010 Autor Denunciar Share Postado Janeiro 26, 2010 Huahuah, foi mal, é que eu havia postado, depois percebi que deveria ter uma tag global. Nesse meio tempo, você postou. Obrigado, já estava resolvido. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Rafael Laurindo
Galera, esse código abaixo só está mostrando somente a última linha da consulta.
Alguém pode me dizer porque?
Editado por Rafael LaurindoLink para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.