sr.silva 1 Denunciar post Postado Outubro 30, 2007 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
Paulo André 0 Denunciar post Postado Outubro 30, 2007 2 perguntas: Qual a estrutura do seu banco de dados? Como você quer que estes dados sejam dispostos no arquivo? Compartilhar este post Link para o post Compartilhar em outros sites
sr.silva 1 Denunciar post Postado Outubro 30, 2007 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
Paulo André 0 Denunciar post Postado Outubro 30, 2007 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
sr.silva 1 Denunciar post Postado Outubro 31, 2007 Ok ! Irei testar, aqui e voltarei com o resultado. ;) Compartilhar este post Link para o post Compartilhar em outros sites
sr.silva 1 Denunciar post Postado Outubro 31, 2007 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
Paulo André 0 Denunciar post Postado Outubro 31, 2007 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
sr.silva 1 Denunciar post Postado Outubro 31, 2007 apenas apareceu a página com o relatório. agora, o arquivo não foi criado. Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Outubro 31, 2007 Verificou a permissão do diretório? Em qual contexto você está utilizando esta função? Compartilhar este post Link para o post Compartilhar em outros sites
sr.silva 1 Denunciar post Postado Outubro 31, 2007 Estou rodando essa função local, onde tenho permissão liberada. Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Outubro 31, 2007 Em qual contexto você está utilizando esta função? Compartilhar este post Link para o post Compartilhar em outros sites
sr.silva 1 Denunciar post Postado Outubro 31, 2007 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
Paulo André 0 Denunciar post Postado Outubro 31, 2007 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
sr.silva 1 Denunciar post Postado Outubro 31, 2007 Ou eu não sei fazer( o que é mais certo!! ).... mas não apareceu nada no código acima! Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Outubro 31, 2007 Então tenho quase certeza que esta função não está sendo chamada ou esta consulta não está retornando nada. Compartilhar este post Link para o post Compartilhar em outros sites
sr.silva 1 Denunciar post Postado Outubro 31, 2007 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
Paulo André 0 Denunciar post Postado Outubro 31, 2007 E como estava antes? Compartilhar este post Link para o post Compartilhar em outros sites
sr.silva 1 Denunciar post Postado Outubro 31, 2007 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
Paulo André 0 Denunciar post Postado Outubro 31, 2007 Quis saber do código, como ele estava antes? Compartilhar este post Link para o post Compartilhar em outros sites
sr.silva 1 Denunciar post Postado Novembro 1, 2007 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