Artigos comentados e explicados sobre MySQL
Moderador: web
por web Offline » Seg Ago 06, 2007 4:38 pm
|
Esse script abaixo gera um arquivo CVS com base em uma tabela do banco de dados.
Obs.: Os arquivos .php devem ter permissão 755, enquanto o diretório onde estará esses arquivos permissão 777
ARQUIVO conexao.php
- Código: Selecionar todos
<?php // servidor $local = "localhost"; // usuário $user = ""; // senha $pass = ""; // banco de dados $DBName = ""; ?>
ARQUIVO form.php - onde há o input para linha de execução
- Código: Selecionar todos
<?php if (!$conexao){ require('conexao.php'); $conexao = mysql_connect($local, $user, $pass) or die("Conexão não pode ser estabelecida: " . mysql_error(). $local); mysql_select_db($DBName, $conexao); } ?> <form method="POST" action="executar.php"> Ex.: SELECT * FROM suatabela <br> <input type="text" name="consulta" size="50"> <input type="submit" value="Gerar CVS"> </form>
ARQUIVO executar.php - onde o arquivo é gerado
- Código: Selecionar todos
<?php if (!$conexao){ require('conexao.php'); $conexao = mysql_connect($local, $user, $pass) or die("Conexão não pode ser estabelecida: " . mysql_error(). $local); mysql_select_db($DBName, $conexao); } ?> <?php $consulta = $_POST['consulta'];
// preparando o arquivo $filename = 'relatorio.csv'; if (file_exists($filename)) { $handle = fopen($filename, 'r+'); } else { $handle = fopen($filename, 'a'); } // Executa a consulta $resultado = mysql_query($consulta) or die("Query invalida: " . mysql_error() . $sql); // Exporta o nome das colunas $i = 0; // contador while ($i < mysql_num_fields($resultado)) { $meta = mysql_fetch_field($resultado,$i); $linha.=$meta->name; $linha.=";"; $i++; } fwrite($handle, $linha."\n"); // exporta os dados das linhas while($cons = mysql_fetch_array($resultado)) { $linha = ""; $i = 0; // contador while ($i < mysql_num_fields($resultado)) { $meta = mysql_fetch_field($resultado,$i); if ($meta->type == 'float') { $linha.= $cons[$meta->name].";" ; } if ($meta->type == 'double') { $linha.= $cons[$meta->name].";" ; } if ($meta->type == 'int') { $linha.= $cons[$meta->name].";" ; } if ($meta->type == 'string') { $linha.="\""; $linha.= $cons[$meta->name]; $linha.="\""; $linha.=";"; } if ($meta->type == 'blob') { $linha.="\""; $linha.= $cons[$meta->name]; $linha.="\""; $linha.=";"; } if ($meta->type == 'date') { $linha.="\""; $linha.= $cons[$meta->name]; $linha.="\""; $linha.=";"; } if ($meta->type == 'datetime') { $linha.="\""; $linha.= $cons[$meta->name]; $linha.="\""; $linha.=";"; } $i++; } fwrite($handle, $linha."\n"); } // fecha o arquivo fclose($handle); ?> <script type="text/javascript"> window.open('relatorio.csv', '_blank'); window </script>

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com
web
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
Voltar para Artigos sobre MySQL
Quem está online
Usuários navegando neste fórum: Google [Bot] e 1 visitante