Criador de arquivo CVS

Artigos comentados e explicados sobre MySQL

Moderador: web

responder a dúvida

Criador de arquivo CVS

Mensagem 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>



detalhes...

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

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

responder a dúvida

Voltar para Artigos sobre MySQL

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante