Jump to content

exportar rows para ficheiros txt


andrepcg
 Share

Recommended Posts

queria criar um script que fizesse query à BD e que transportasse os resultados obtidos para um novo ficheiro txt, uma row por linha.

vai correr um cronjob ao final de cada dia e perante o dia do ano (03.04.2010) iria criar um ficheiro txt com o nome 03042010.txt e iria inserir os resultados dessa query para o ficheiro.

atenção que cada query retorna muitas rows para um txt.

alguem me consegue ajudar? estou com mais dificuldades na parte de fazer a query e transportar os resultados para o txt. obrigado malta

Manda piadas secas por telefone - Piadas.secas.club

Link to comment
Share on other sites

$today_date = date('d.m.Y');

$queryi = mysql_query("SELECT * FROM blablabla") or die(mysql_error());

$file = "$today_date.txt";

while($row = mysql_fetch_array($queryi))
{
$put = "".$row['blabla']."\n";
file_put_contents($file, $put);


}

o codigo está a criar um ficheiro com apenas a ultima linha do select. se fizer um echo dentro do while, ele escreve todos os reultados da query na pagina mas só o ultimo da query é que é escrito no ficheiro. o que se passa?

Manda piadas secas por telefone - Piadas.secas.club

Link to comment
Share on other sites

Tenta assim:

$today_date = date('d.m.Y');

$queryi = mysql_query("SELECT * FROM blablabla") or die(mysql_error());

$file = "$today_date.txt";

while($row = mysql_fetch_array($queryi))
{
        $put .= "".$row['blabla']."\n";   
       
}
file_put_contents($file, $put);

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

Sinceramente não percebo. Mas tenta de outra forma:

$today_date = date('d.m.Y');

$queryi = mysql_query("SELECT * FROM blablabla") or die(mysql_error());

$file = "$today_date.txt";

while($row = mysql_fetch_array($queryi))
{
        $put = $put."".$row['blabla']."\n";  
       
}
file_put_contents($file, $put);

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

Tem a ver com o chamado escopo de variáveis. Uma variável definida num ciclo apenas funciona dentro dele, nalgumas linguagens. Surpreendentemente, no PHP também funciona nessa forma, fiquei a descobrir isso neste tópico. Fico espantado com isso devido à ausência de declaração de variáveis.

O primeiro código que tinhas, andrecpg, só falhou porque a função file_put_contents apaga todo o conteudo do fichiero antes de o escrever. Se usasses, por exemplo, fwrite, ou o file_put_contents com a opção FILE_APPEND (ver manual), já funcionaria.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

softclean, isso funcionaria, mas o script ficaria mais lento de estar sempre a abrir conexão, editar o ficheiro, e fechar a conexão, quando tudo isso poderia ser feito de uma vez só. 😉

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.