Ir para conteúdo
Fórum Script Brasil
  • 0

Erro em geração de XML através de PHP e MySql


l_marcce

Pergunta

Boa tarde à todos do fórum....

Venho tentando já a umas 3 semanas implantar um sisteminha de feeds rss no meu site, mas venho esbarrando em um problema que tá me fazendo ficar ainda mais careca do que já sou... rs...

Bem... criei um BD com o PhpMyAdmin com uma única tabela, de nome noticias, contendo: id, data, titulo, resumo e texto

Inseri 3 linhas para testes

Então, criei uma página PHP para inserir os código e gerar automaticamente o XML correspondente...

Até aí, está funcionando direitinho...

Quando executo o PHP, aparece todos os registros (sem separação e nem formatação)

O arquivo .xml é criado no local indicado, com as 3 linhas que foram inseridas....

Porêm, quando peço para visualizar no navegador (seja Chrome, Firefox, IE ou ópera) só aparece o primeiro registro, ainda sem formatação nem separação de linhas (claro, ainda não coloquei os estilos no arquivo .xml...)

Então, aí é que está o problema... antes de colocar os estilos, queria que os 3 registros estivessem aparecendo no navegador...

Não consigo descobrir o que está errado e gostaria muito de contar com a ajuda dos amigos...

Segue minha página em PHP para analise...

E ficarei muito grato a quem se dispor em dar uma força...

Obrigado.

_______________________________________________________________________________________________________________________________________________

<?php

/*maquina a qual o banco de dados está localizado*/

$servidor = "localhost";

/*usuario do banco de dados MySql*/

$usuario = "root";

/*senha do banco de dados MySql*/

$senha = "";

/*seleciona o banco a ser usado*/

$banco = "meubd";

/*Conecta no bando de dados MySql*/

$conexao = mysql_connect($servidor,$usuario,$senha) or die ("não foi possível estabelecer conexão");

/*seleciona o banco a ser usado*/

mysql_select_db($banco) or die ("bd inexistente");

/*Executa o comando SQL, no caso para pegar todas as informações do sistema e retorna o valor da consulta em uma variavel ($res)*/

$sql = mysql_query("SELECT * FROM noticias ORDER BY id") or die ("tabela inexistente" );

$conteudo ="";

/*Enquanto houver dados na tabela para serem mostrados será executado tudo que esta dentro do while */

while($escrever=mysql_fetch_array($sql)){

/*Escreve cada linha da tabela*/

$conteudo .=

$escrever['id'] . //";" .

$escrever['data'] . //";" .

$escrever['titulo'] . //";" .

$escrever['resumo'] . //";" .

$escrever['texto'] . ";";

}/*Fim do while*/

echo $conteudo;

//TOTAL DE LINHAS AFETADAS PELA CONSULTA

$registros = mysql_num_rows($sql);

//VERIFICA SE A PESQUISA RETORNOU ALGUMA LINHA

if($registros > 0) {

//ARQUIVO

$arquivo = "SiteTeste/rss.xml";

//ABRE O ARQUIVO(SE NÃO EXISTIR, CRIA)

$ponteiro = fopen($arquivo, "w+");

// Insere o cabeçalho XML na página

header("Content-type: application/xml");

// Insere o cabeçalho RSS na página, especificando a versão e a codificação

fwrite($ponteiro, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\r\n");

//fwrite($ponteiro, "<$registros>\r\n"); //AQUI, SE EU DEIXAR APARECER NO ARQUIVO XML, JÁ APARECE ERRO NA TERCEIRA LINHA NOS NAVEGADORES

}

for($i=0; $i<$registros; $i++) {

//for($i=0; $i<$res; $i++) {

//PEGA OS DADOS DO SQL

$id = mysql_result($sql,$i,"id");

$data = mysql_result($sql,$i,"data");

$titulo = mysql_result($sql,$i,"titulo");

$resumo= mysql_result($sql,$i,"resumo");

$texto= mysql_result($sql,$i,"texto");

//MONTA AS TAGS DO XML

$conteudo = "<noticias>\r\n";

$conteudo .= "<id>$id</id>\r\n";

$conteudo .= "<data>$data</data>\r\n";

$conteudo .= "<titulo>$titulo</titulo>\r\n";

$conteudo .= "<resumo>$resumo</resumo>\r\n";

$conteudo .= "<texto>$texto</texto>\r\n";

$conteudo .= "</noticias>\r\n";

//ESCREVE NO ARQUIVO

fwrite($ponteiro, $conteudo);

}//FECHA FOR

//echo $conteudo;

fclose($ponteiro);

?>

Só para posicionar todos os que quiserem dar uma força, o erro que consta nos navegadores é:

This page contains the following errors:

error on line 12 at column 1: Extra content at the end of the document

Below is a rendering of the page up to the first error.

Desde já, agradeço à todos que puderem dar uma força...

Brigadão, gente...

Link para o comentário
Compartilhar em outros sites

1 resposta 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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...