Jump to content


Photo

Php X Xml


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 ravel

ravel

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 10/08/2009, 20:44

boa tarde pessoal !
estou criando um arquivo xml a partir de um script php que retorna dados de um banco mysql.
O conteudo do arquivo xml sera lido por outro servidor.
Os resultados estao funcionando errado, se repetem por diversas vezes, nao consigo parar na primeira consulta, ele vai consultando e repetindo n vezes o resultado no arquivo xml.

GERADATA.PHP
<?php
include('../includes/config.php');
$consulta = @mysql_query("SELECT x, y FROM anunciantes WHERE exibe = '1' AND gratis = '0' ");
$manipulador_arq = fopen("data.xml","w+");
@fwrite($manipulador_arq,"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?><markers>\n");
while($latlong = @mysql_fetch_array($consulta))
{
$xml .= "<marker lat='$latlong[x]' lng ='$latlong[y]' />\n";
@fwrite($manipulador_arq,$xml);
}
@fwrite($manipulador_arq,"\n</markers>");
?>

o resultado no arquivo xml fica assim:
<markers>
<marker lat='-24.1791' lng ='-46.7872' />
<marker lat='-24.1791' lng ='-46.7872' />
<marker lat='-24.179306' lng ='-46.78714' />
<marker lat='-24.1791' lng ='-46.7872' />
<marker lat='-24.179306' lng ='-46.78714' />
<marker lat='-24.180584' lng ='-46.78260' />
<marker lat='-24.1791' lng ='-46.7872' />
<marker lat='-24.179306' lng ='-46.78714' />
<marker lat='-24.180584' lng ='-46.78260' />
. . . . . . . . . .
</markers>

onde eu errei no codigo ? agradeco desde ja !

boa tarde pessoal !
estou criando um arquivo xml a partir de um script php que retorna dados de um banco mysql.
O conteudo do arquivo xml sera lido por outro servidor.
Os resultados estao funcionando errado, se repetem por diversas vezes, nao consigo parar na primeira consulta, ele vai consultando e repetindo n vezes o resultado no arquivo xml.

GERADATA.PHP
<?php
include('../includes/config.php');
$consulta = @mysql_query("SELECT x, y FROM anunciantes WHERE exibe = '1' AND gratis = '0' ");
$manipulador_arq = fopen("data.xml","w+");
@fwrite($manipulador_arq,"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?><markers>\n");
while($latlong = @mysql_fetch_array($consulta))
{
$xml .= "<marker lat='$latlong[x]' lng ='$latlong[y]' />\n";
@fwrite($manipulador_arq,$xml);
}
@fwrite($manipulador_arq,"\n</markers>");
?>

o resultado no arquivo xml fica assim:
<markers>
<marker lat='-24.1791' lng ='-46.7872' />
<marker lat='-24.1791' lng ='-46.7872' />
<marker lat='-24.179306' lng ='-46.78714' />
<marker lat='-24.1791' lng ='-46.7872' />
<marker lat='-24.179306' lng ='-46.78714' />
<marker lat='-24.180584' lng ='-46.78260' />
<marker lat='-24.1791' lng ='-46.7872' />
<marker lat='-24.179306' lng ='-46.78714' />
<marker lat='-24.180584' lng ='-46.78260' />
. . . . . . . . . .
</markers>

onde eu errei no codigo ? agradeco desde ja !


faltou fechar com fclose($manipulador_arq);
o codigo correto ficou assim:
<?php
include('../includes/config.php');
$consulta = @mysql_query("SELECT x, y FROM anunciantes WHERE exibe = '1' AND gratis = '0'");
$manipulador_arq = fopen("data.xml","w+");
@fwrite($manipulador_arq,"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?><markers>\n");
while($latlong = @mysql_fetch_array($consulta))
{
$xml = "<marker lat='$latlong[x]' lng ='$latlong[y]' />\n";

@fwrite($manipulador_arq,$xml);
}
@fwrite($manipulador_arq,"\n</markers>");
fclose($manipulador_arq);
?>

valeu!

Edição feita por: ravel, 10/08/2009, 17:43.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq