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...
Pergunta
l_marcce
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.