Jump to content
cleimarlemes

[Resolvido] Gerar xls via php dando erro...

Recommended Posts

Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/u870495724/public_html/testexls.php on line 38										
										
Warning: mysqli_query(): Empty query in /home/u870495724/public_html/testexls.php on line 40										
										
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /home/u870495724/public_html/testexls.php on line 44										

acima esta o erro que aparece pra mim..    e abaixo segue meu código completo..

 

<?php
// Inclui a conexão
//include_once("conexao2.php");
    $servidor = "mysql.hostinger.com.br";
	$usuario = "u8polo";
	$senha = "po3";
	$dbname = "u8polo";
    //Criar a conexão
	$conn = mysqli_connect($servidor, $usuario, $senha, $dbname);
	if(!$conn){
		die("Falha na conexao: " . mysqli_connect_error());
	}else{
		//echo "Conexao realizada com sucesso";
	}
// Nome do Arquivo do Excel que será gerado
$arquivo = 'relatorio_entsai.xls';

// Criamos uma tabela HTML com o formato da planilha para excel
$tabela = '<table border="1">';
$tabela .= '<tr>';
$tabela .= '<td colspan="2">RELATORIO DE ENTRADA E SAIDA</tr>';
$tabela .= '</tr>';
$tabela .= '<tr>';
$tabela .= '<td><b>Matricula</b></td>';
$tabela .= '<td><b>Nome</b></td>';
$tabela .= '<td><b>Tipo</b></td>';
$tabela .= '<td><b>Placa</b></td>';
$tabela .= '<td><b>Veiculo</b></td>';
$tabela .= '<td><b>Cidade</b></td>';
$tabela .= '<td><b>Uf</b></td>';
$tabela .= '<td><b>Empresa</b></td>';
$tabela .= '<td><b>Data Entrada</b></td>';
$tabela .= '<td><b>Hora Entrada</b></td>';
$tabela .= '<td><b>Hora Saida</b></td>';
$tabela .= '</tr>';

// Puxando dados do Banco de dados
$banco_select = mysqli_query("SELECT * FROM tb_entrada");

$resultado_usuario = mysqli_query($conn, $banco_select);

echo $resultado;

while($dados = mysqli_fetch_array($resultado_usuario))
{
$tabela .= '<tr>';
$tabela .= '<td>'.$dados['matricula'].'</td>';
$tabela .= '<td>'.$dados['nome'].'</td>';
$tabela .= '<td>'.$dados['tipo'].'</td>';
$tabela .= '<td>'.$dados['placa'].'</td>';
$tabela .= '<td>'.$dados['veiculo'].'</td>';
$tabela .= '<td>'.$dados['cidade'].'</td>';
$tabela .= '<td>'.$dados['uf'].'</td>';
$tabela .= '<td>'.$dados['empresa'].'</td>';
$tabela .= '<td>'.$dados['dataentrada'].'</td>';
$tabela .= '<td>'.$dados['horaentrada'].'</td>';
$tabela .= '<td>'.$dados['horasaida'].'</td>';
$tabela .= '</tr>';
}

$tabela .= '</table>';

// Força o Download do Arquivo Gerado
header ('Cache-Control: no-cache, must-revalidate');
header ('Pragma: no-cache');
header('Content-Type: application/x-msexcel');
header ("Content-Disposition: attachment; filename=\"{$arquivo}\"");
echo $tabela;
?>


 

 

Share this post


Link to post
Share on other sites

consegui ajeitar rodou perfeito agora..

so que no excel os acentos vem tudo bagunçado.. tem como arrumar..

segue o codigo rodando 100%

 

<?php

// variáveis para conexão em LOCALHOST
  $conexao = mysqli_connect('mysql.hostinger.com.br', 'u_polo', 'po3', 'u_polo');
 
   if (mysqli_connect_errno()){
      echo "falha ao conectar: ". mysqli_connect_error();
   die();
   }

// Nome do Arquivo do Excel que será gerado
$arquivo = 'relatorio_entsai.xls';

// Criamos uma tabela HTML com o formato da planilha para excel
$tabela = '<table border="1">';
$tabela .= '<tr>';
$tabela .= '<td colspan="2">RELATORIO DE ENTRADA E SAIDA</tr>';
$tabela .= '</tr>';
$tabela .= '<tr>';
$tabela .= '<td><b>Matricula</b></td>';
$tabela .= '<td><b>Nome</b></td>';
$tabela .= '<td><b>Tipo</b></td>';
$tabela .= '<td><b>Placa</b></td>';
$tabela .= '<td><b>Veiculo</b></td>';
$tabela .= '<td><b>Cidade</b></td>';
$tabela .= '<td><b>Uf</b></td>';
$tabela .= '<td><b>Empresa</b></td>';
$tabela .= '<td><b>Data Entrada</b></td>';
$tabela .= '<td><b>Hora Entrada</b></td>';
$tabela .= '<td><b>Hora Saida</b></td>';
$tabela .= '</tr>';

// Puxando dados do Banco de dados
$sql = 'SELECT * FROM tb_entrada';

$resultado = mysqli_query($conexao, $sql);

while($dados = mysqli_fetch_array($resultado))
{
$tabela .= '<tr>';
$tabela .= '<td>'.$dados['matricula'].'</td>';
$tabela .= '<td>'.$dados['nome'].'</td>';
$tabela .= '<td>'.$dados['tipo'].'</td>';
$tabela .= '<td>'.$dados['placa'].'</td>';
$tabela .= '<td>'.$dados['veiculo'].'</td>';
$tabela .= '<td>'.$dados['cidade'].'</td>';
$tabela .= '<td>'.$dados['uf'].'</td>';
$tabela .= '<td>'.$dados['empresa'].'</td>';
$tabela .= '<td>'.$dados['dataentrada'].'</td>';
$tabela .= '<td>'.$dados['horaentrada'].'</td>';
$tabela .= '<td>'.$dados['horasaida'].'</td>';
$tabela .= '</tr>';
}

$tabela .= '</table>';

// Força o Download do Arquivo Gerado
header ('Cache-Control: no-cache, must-revalidate');
header ('Pragma: no-cache');
header('Content-Type: application/x-msexcel');
header ("Content-Disposition: attachment; filename=\"{$arquivo}\"");
echo $tabela;
?>


 

 

Share this post


Link to post
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

  • Similar Content

    • By granderodeo
      Estou tentando pegar dados de duas tabelas logo no inicio da sessão quando o usuário realiza o login, quando utilizo o 
      SELECT * FROM usuarios, orders WHERE email = '$login' and senha= '$senha' Consigo realizar o login tranquilamente, até ai de boa, mais quando modifico o código para
       
      $comando="SELECT * FROM usuarios INNER JOIN orders ON usuarios.id_usuario = orders.id_usuario WHERE email.usuarios='$login' and senha.usuarios='$senha'"; Ele só me deixa fazer login se o usuário já tiver algum orders (pedido). O que estou tentando fazer é assim que o usuário loga, mostre também os pedidos que ele já fez etc, que são dados que estão em outra tabela. Alguém consegue ver meu erro?
    • By Fernando Rafael
      Estou tendo problemas com a leitura de porta serial com PHP, consigo facilmente escrever na mesma, mas sempre que no comando de abertura da porta eu coloco que haverá permissão de leitura o PHP trava e fica carregando infinitamente, e a porta fica bloqueada e só libera quando reiniciado o computador.
       
      Segue o cod:
      exec('MODE COM1:9600,n,8,1'); //seta configuração na porta COM $fp=fopen("COM1","r+b"); if(!$fp) {     echo("Erro ao abrir a porta com1");     exit; } else {         echo("COM1 aberta <br>"); } fwrite($fp,Chr(5));  //escrevendo valor na porta sleep(1); //pausa para retorno dos dados echo (fgets($fp)); fclose($fp); já tentei  colocar:
      fopen("COM1", "r+b");
      fopen("COM1", "r+t");
      fopen("COM1", "r");
      fopen("COM1", "w+");
      fopen("COM1", "r+");
       
      para escrever consigo normal, com o fopen("COM1", "w");.  mas já para ler.....
       
      Notei que na internet tem muito sobre esse problema, inclusive falaram em permissões de usuário, sendo que nos casos em que conseguiram, estavam usando o Linux.
      Eu estou usando o W7 e W10 com PHP 5.2, se for o caso de permissões, como resolvo isso? preciso configurar mais alguma coisa no php.ini?
       
      Também já tentei usar uma classe: phpSerial
       
      Mas retorna o seguinte erro:
      Warning: Reading serial port is not implemented for Windows in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\balanca\php_serial.class.php on line 503
       
       
    • By rogerblower
      Pessoal tenho a seguinte tabela
      id | id_etapa | id_evento | posicao | nome | pontos
      1  |  1             |        2         |   1           | joao      |  10
      2  |  1             |        2         |   2           | pedro    |  9
      3  |  1             |        2         |   3           | maria    |  8
      4  |  1             |       2          |   4           | jose       |  7
      5  |  2             |      2          |   3           | joao       |  8
      6  |  2             |  2              |   1           | pedro    | 10
      7  |  2             |   2             |  2            | maria    |  9
      8  |  2             |  2              |   4          | jose        |  7
       
      O resultado da consulta pretendido é este
      Pos  |  nome |   pontos
      1      |  pedro   | 19
      2      |   joao   | 18
      3      |  maria  |  17
      4      |  jose  |  14
       
      Com esta consulta não ordenando a coluna posicao como esperado, ela repete a posicao e não faz a soma, ex:
       1     joao     10
       1     pedro     10
      $pontuacaoa = $pdo->prepare("SELECT * FROM contador WHERE id_evento = '$id_evento' GROUP BY nome, posicao ORDER BY pontos DESC posicao ASC"); Com esta outra consulta a soma esta correta o agrupamento nome esta correto, não se repetem, mas a coluna posicao fica fora de ordem;
       
      $pontuacaoa = $pdo->prepare("SELECT * FROM contador WHERE id_evento = '$id_evento' GROUP BY nome ORDER BY pontos DESC posicao ASC"); Não estou conseguindo acertar a consulta, alguém me ajuda?
    • By rjlfurtado
      Segue abaixo o exemplo de como seria feito em SQL:
      CREATE TABLE tabela ( campo1 DOUBLE, campo2 DOUBLE, divisao DOUBLE AS (campo1/campo2) ); Agora eu preciso criar uma migração no Laravel 6, segue exemplo abaixo:
      $table->integer('qtd_saida'); $table->decimal('valor_uni', 8, 2); $table->double('valor_total')->as(qtd_saida * valor_uni);  
    • By Marxrj
      Olá a todos!,
      Queria aqui uma dica se alguém sabe como alinhar fotos no centro pelo bootstrap.
      Usando o padrão fotos retratos fica como abaixo
      __________  __________
      __________
       
      Mas eu queria que quando tivesse um número impar, a foto não ficasse alinhada na esquerda e sim centralizada como abaixo
      __________  __________
                __________
       
      Estou usando este padrão abaixo aonde ele alinha duas fotos ao lado, mas quando tem somente um ou em número impar, essa não centraliza e sim fica a esquerda.
      <div class="col-xs-12 col-sm-10 col-lg-6 col-md-3">
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.