Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sr.silva

Arquivo Texto com registro do banco

Recommended Posts

Olá!!

 

Estou utilizando um formulário para fazer consulta na tabela de Clientes.

 

Minha ideía é a seguinte:

 

- Ao clicar no botão " Pesquisar ", ao invés de mostrar ao usuário uma tela com os registros, pretendo

criar um arquivo TEXTO e salvar.

 

Li esse artigo, só que como não conheço muito PHP não sei como fazer.

http://www.imasters.com.br/artigo/1122

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que pretendo fazer é algo simples.

 

Apenas uma consulta dentro da tabela clientes do meu BD;

 

A mesma é disposta dos seguinte campos: nome, data_cadastro, telefone e etc...

 

No arquivo texto, pretendo coloca-los assim:

 

nome1 | 01/01/2001 | 222222222

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, vou te passar aqui um exemplo de como o código ficaria. Basta adaptá-lo:

<?php

// incluir seu arquivo de conexão

$fp = fopen("resultado_pesquisa.txt", "a+");

$sql = mysql_query("SELECT * FROM clientes");

while( $rs = mysql_fetch_array($sql) )
{
	$nome = $rs['nome'];
	$data_cadastro = $rs['data_cadastro'];
	$telefone = $rs['telefone'];
	
	fwrite($fp, "{$nome}|{$data_cadastro}|{$telefone}\r\n");
}

fclose($fp);

?>

Flws...

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi amigo, não funcionou!!

 

se possível, pode me ajudar. estou colocando o código abaixo.

 

function listaPorMes($nome, $inicial=0, $quantidade=0, $ordenacao ="asc")
	{
		$bd = new bancodedados();
		
		$sql = "select * from rel_clientes where lower(razao_social) like '%".strtolower($nome)."%'  ";
		
		if ($ordenacao=="asc")
			$sql .= "order by pk ASC ";
		elseif ($ordenacao=="desc")
			$sql .= "order by pk DESC ";
		elseif ($ordenacao=="rnd")
			$sql .= "order by rand() ";
		
		if ($quantidade>0)
			$sql .= "limit $inicial,$quantidade";
		elseif ($inicial>0 && $quantidade<=0)
			$sql .= "limit $inicial";

		$bd->consulta($sql);
		
		for ($p=0;$p<$bd->numrows();$p++)
		{
			$itm = $bd->fetch();
			$vLista[] = $itm;
		}

		$fp = fopen("resultado_pesquisa.txt", "a+");
	
		while( $rs = mysql_fetch_array($sql) )
		{
			$nome = $rs['nome'];
			fwrite($fp, "{$nome}|\r\n");
		}
		
		fclose($fp);		
	
	}

Onde é criado esse arquivo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O arquivo é criado no mesmo diretório que se encontra este script. Se você estiver rodando no servidor e não local, é preciso dar permissão 777 ao diretório onde o arquivo será criado.

 

Qual foi o resultado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe se não entendi sua pergunta!

 

Mas o que pretendo fazer e filtrar determinados clientes, através de um formulário simples,

apenas com o campo "Nome" para filtragem.

 

Estou fazendo isso, local..só que não apareceu o arquivo no meu diretório.

 

Agora, você disse que teria que liberar a pemissão 777, como faço isso??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quis saber quando você está chamando esta função para que ele execute os comandos.

 

Substitua esta parte e veja se há algum resultado na tela:

$fp = fopen("resultado_pesquisa.txt", "a+");
$txt = "";

while( $rs = mysql_fetch_array($sql) )
{
	$nome = $rs['nome'];
	$txt .= "{$nome}|\r\n";
}

echo $txt;
fwrite($fp, $txt);
fclose($fp);

A permissão 777 seria somente no servidor mesmo, que você através de um próprio programa de FTP iria nas propriedades do diretório e indicaria o tipo de permissão.

 

Flws...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Chamar tá chamando sim.

 

Pois antes de colocar essa função de gerar arquivo, o relatório era montado corretamente no browser.

 

O problema, e que com o código, não está funcionando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes apenas eu fazia a chamada da função.

 

Só que agora, tenho que no momento da chamada "gerar" um arquivos com os registros da consulta.

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estava assim...

 

function listaPorMes($nome, $inicial=0, $quantidade=0, $ordenacao ="asc")
	{
		$bd = new bancodedados();
		
		$sql = "select * from rel_clientes where lower(razao_social) like '%".strtolower($nome)."%'  ";
		
		if ($ordenacao=="asc")
			$sql .= "order by pk ASC ";
		elseif ($ordenacao=="desc")
			$sql .= "order by pk DESC ";
		elseif ($ordenacao=="rnd")
			$sql .= "order by rand() ";
		
		if ($quantidade>0)
			$sql .= "limit $inicial,$quantidade";
		elseif ($inicial>0 && $quantidade<=0)
			$sql .= "limit $inicial";

		$bd->consulta($sql);
		
		for ($p=0;$p<$bd->numrows();$p++)
		{
			$itm = $bd->fetch();
			$vLista[] = $itm;
		}

	   return $vLista[];
	
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.