Ir para conteúdo

POWERED BY:

Arquivado

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

Marcelo-Santos

[Resolvido] Gerando arquivo XLS(excel) com PHP

Recommended Posts

Olá,

Estou criando um sisteminha de consulta de ativo, com PHP e MySQL.

No index.php, quando busco por departamento e gero o arquivo ele gera normalmente,

mais se busco por numero do ativo, ou por descrição e gero o arquivo XLS ele dá erro na planilha:

 

"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\...\functions.php on line 144"

 

PAGINA: index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>3M do Brasil - Consulta de Bens - Ativo Fixo</title>
  <link href="estilo.css" rel="stylesheet" type="text/css" />
  <script type="text/javascript">
  function verifica() {
    x = document.consulta;
	if (x.TipoConsulta.value == "") {
	  alert("Selecione um tipo de consulta");
	  return false;
	}
	if (x.DadoProcurado.value == "") {
	  alert("Digite um valor a ser procurado");
	  return false;
	}
  }
  </script>
</head>
<body>
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="100%" colspan="7"></td>
    </tr>
    <tr valign="middle">
      <td align="left"><img src="Imagens/Logo3M.jpg" alt="Logo" width="218" height="111" hspace="5" /></td>
      <td bgcolor="#0000A0"></td>
      <td> </td>
      <td align="left" width="100%"><span class="heading"> CONTABILIDADE CORPORATIVA</span><br/>
        <span class="Italico"> Consulta de Bens - Ativo Fixo</span></td>
      <td> </td>
      <td><img src="Imagens/caduceu.GIF" alt="Caduceu - Símbolo da Contabilidade" width="123" height="142" border="0" /></td>
      <td> </td>
    </tr>
    <tr>
      <td width="100%" colspan="7"></td>
    </tr>
    <tr>
      <td bgcolor="#0000A0" width="100%" height="8" colspan="7"></td>
    </tr>
  </table>
  <br />
  <div>
    <form name="consulta" method="post" action="busca.php" onsubmit="return verifica();">
     Consulta por: 
      <select name="TipoConsulta" id="TipoConsulta">
       <option value="">Selecione...</option>
       <option value="Departamento">Departamento</option>
       <option value="Numero_Ativo">Número do Ativo</option>
       <option value="Descricao_Ativo">Descrição do Ativo</option>
      </select>
     <input type="text" name="DadoProcurado" id="DadoProcurado" />
     <input type="submit" name="FazerConsulta" id="button" value="Fazer Consulta" />
    </form>
  </div>
</body>
</html>

PAGINA: busca.php

<?php
  require_once("conecta.php");
  $tipoconsulta = $_POST["TipoConsulta"];
  $dadoprocurado = $_POST["DadoProcurado"];//criterio
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Consulta de bens por <?php echo "$tipoconsulta: $dadoprocurado"; ?>.</title>
  <link href="estilo.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php //VERIFICA TIPO DE CONSULTA E BUSCA NO BD
    if($tipoconsulta == "Departamento") {//BUSCA POR DEPTO
      $sql = "SELECT * FROM ativofixo WHERE CCusto LIKE '%".$dadoprocurado."%' ";
      $query = mysql_query($sql);
      $num_linhas = mysql_num_rows($query);
    }
    else if($tipoconsulta == "Numero_Ativo") {//BUSCA POR NUMERO DE ATIVO
      $sql = "SELECT * FROM ativofixo WHERE Chapa LIKE '%".$dadoprocurado."%' ";
      $query = mysql_query($sql);
      $num_linhas = mysql_num_rows($query);
    }
    else if($tipoconsulta == "Descricao_Ativo") {//BUSCA POR DESCRICAO DE ITEM
	  $sql = "SELECT * FROM ativofixo WHERE DescItem LIKE '%".$dadoprocurado."%' ";
      $query = mysql_query($sql);
      $num_linhas = mysql_num_rows($query);
    }
  ?>
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr valign="middle">
      <td align="left"><img src="Imagens/Logo3M.jpg" alt="Logo" width="218" height="111" hspace="5" /></td>
      <td bgcolor="#0000A0"></td>
      <td> </td>
      <td align="left" width="100%">
        <span class="heading">CONTABILIDADE CORPORATIVA</span><br/>
        <span class="Italico"> Consulta de Bens - Ativo Fixo</span>
      </td>
      <td> </td>
      <td><img src="Imagens/caduceu.GIF" alt="Caduceu - Símbolo da Contabilidade" width="123" height="142" border="0" /></td>
      <td> </td>
    </tr>
    <tr>
      <td width="100%" colspan="7"></td>
    </tr>
    <tr>
      <td bgcolor="#0000A0" width="100%" height="8" colspan="7"></td>
    </tr>
</table>
  <form action="functions.php" method="post">
    <div id="tablebusca">
	  <?php echo '<input name="numlinhas" type="hidden" id="numlinhas" value="'.$num_linhas.'" />'; ?>
      <?php echo '<input name="tipoconsulta" type="hidden" id="tipoconsulta" value="'.$tipoconsulta.'" />'; ?>
      <?php echo '<input name="dadoprocurado" type="hidden" id="dadoprocurado" value="'.$dadoprocurado.'" />'; ?><br />
      <?php echo "Consulta de Bens por $tipoconsulta: $dadoprocurado." ?><br />
      <br />
      <table width="95%" border="1" bordercolor="#0000A0" cellpadding="1" cellspacing="0" align="center">
        <tr bgcolor="#CCCCCC">
          <th></th>
          <th align="center" scope="col">NÚMERO DO ATIVO</th>
          <th align="center" scope="col">DESDOBRO</th>
          <th align="center" scope="col">CENTRO DE CUSTO</th>
          <th align="center" scope="col">DESCRIÇÃO DO ITEM</th>
          <th align="center" scope="col">DATA DE AQUISIÇÃO</th>
          <th align="center" scope="col">DATA DA CAPITALIZAÇÃO</th>
          <th align="center" scope="col">VALOR ORIGINAL</th>
          <th align="center" scope="col">DEPRECIAÇÃO MENSAL</th>
          <th align="center" scope="col">DEPRECIAÇÃO ACUMULADA</th>
          <th align="center" scope="col">VALOR RESIDUAL</th>
        </tr>
        <?php for($i = 0; $i<$num_linhas;$i++){ $campo = mysql_fetch_assoc($query); 
	      $Chapa = $campo['Chapa'];
  	      $Dd = $campo['Dd'];
	      $CCusto = $campo['CCusto'];
	      $DescItem = $campo['DescItem'];
	      $DtAquis = $campo['DtAquis'];
	      $DtCap = $campo['DtCap'];
	      $VlrOrig = $campo['VlrOrig'];
	      $DepMens = $campo['DepMens'];
	      $DepAcum = $campo['DepAcum'];
		  
	      $VlrRes = ($VlrOrig - $DepAcum);
	    ?>
        <tr>
          <td><input type="checkbox" name="<?php echo "checkbox[]" ?>" value="<?php echo $Chapa ?>"/></td>
          <td align="center"><?php echo $Chapa ?></td>
          <td align="center"><?php echo $Dd ?></td>
          <td align="center"><?php echo $CCusto ?></td>
          <td align="center"><?php echo $DescItem ?></td>
          <td align="center"><?php echo $DtAquis ?></td>
          <td align="center"><?php echo $DtCap ?></td>
          <td align="center"><?php echo number_format($VlrOrig,2,",","."); ?></td>
          <td align="center"><?php echo number_format($DepMens,2,",","."); ?></td>
          <td align="center"><?php echo number_format($DepAcum,2,",","."); ?></td>
          <td align="center"><?php echo number_format($VlrRes,2,",","."); ?></td>
        </tr>
        <?php  } ?>
      </table>
    </div>
    <p><a href="index.php"><< Fazer  outra pesquisa</a></p>
    <p>
      <input type="submit" name="Selecionar" value="Selecionar" /> 
      <input type="submit" name="GerarArquivo" value="Gerar arquivo XLS(Excel)" /> 
      <input type="button" name="Imprimir" value="Imprimir" onClick="window.print();"/>
    </p>
</form>
</body>
</html>

PAGINA: functions.php

<?php require_once("conecta.php"); ?>
<?php 
function get_post_action($name)
{
    $params = func_get_args();
    
    foreach ($params as $name) {
        if (isset($_POST[$name])) {
            return $name;
        }
    }
}

switch (get_post_action('Selecionar', 'GerarArquivo')) {
    case 'Selecionar': //Seleciona registros de acordo com checkboxes
	    header('Content-Type: text/html; charset=utf-8');
		echo "<style type='text/css'>";
        echo "@import url('estilo.css');";
        echo "</style>";

		echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
        echo "<tr valign='middle'>";
        echo "<td align='left'><img src='Imagens/Logo3M.jpg' alt='Logo' width='218' height='111' hspace='5' /></td>";
        echo "<td bgcolor='#0000A0'></td>";
        echo "<td> </td>";
        echo "<td align='left' width='100%'>";
        echo "<span class='heading'>CONTABILIDADE CORPORATIVA</span><br/>";
        echo "<span class='Italico'> Consulta de Bens - Ativo Fixo</span>";
        echo "</td>";
        echo "<td> </td>";
        echo "<td><img src='Imagens/caduceu.GIF' alt='Caduceu - Símbolo da Contabilidade' width='123' height='142' border='0' /></td>";
        echo "<td> </td>";
        echo "</tr>";
        echo "<tr>";
        echo "<td width='100%' colspan='7'></td>";
        echo "</tr>";
        echo "<tr>";
        echo "<td bgcolor='#0000A0' width='100%' height='8' colspan='7'></td>";
        echo "</tr>";
        echo "</table>";
		echo "<form action='functions.php' method='post'>";
		echo "<div id='tablebusca'>";
		echo "<br /><br />";
	     echo "<table width='95%' border='1' bordercolor='#0000A0' cellpadding='1' cellspacing='0' align='center'>";
		 
           echo "<tr>";
             echo "<td bgcolor='#CCCCCC' scope='col'>NUMERO DO ATIVO</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DESDOBRO</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>CENTRO DE CUSTO</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DESCRICAO DO ITEM</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DATA DE AQUISICAO</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DATA DA CAPITALIZACAO</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>VALOR ORIGINAL</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DEPRECIACAO MENSAL</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DEPRECIACAO ACUMULADA</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>VALOR RESIDUAL</td>";
           echo "</tr>";
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
           for($cont=0;$cont<count($_POST['checkbox']);$cont++){
		     $valor = $_POST['checkbox'][$cont];
			 $sql = "SELECT * FROM ativofixo WHERE Chapa LIKE '".$valor."' ";
             $query = mysql_query($sql);
             $num_linhas = mysql_num_rows($query);
			 $i = 1;
             while($campo = mysql_fetch_assoc($query)) {
	           $Chapa = $campo['Chapa'];
	           $Dd = $campo['Dd'];
	           $CCusto = $campo['CCusto'];
               $DescItem = $campo['DescItem'];
	           $DtAquis = $campo['DtAquis'];
	           $DtCap = $campo['DtCap'];
  	           $VlrOrig = $campo['VlrOrig'];
	           $DepMens = $campo['DepMens'];
	           $DepAcum = $campo['DepAcum'];
				
			   $VlrRes = ($VlrOrig - $DepAcum);
				
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
               echo "<tr>";
                 echo "<td>$Chapa</td>";
                 echo "<td>$Dd</td>";
                 echo "<td>$CCusto</td>";
                 echo "<td>$DescItem</td>";
                 echo "<td>$DtAquis</td>";
                 echo "<td>$DtCap</td>";
                 echo "<td>$VlrOrig</td>";
		         echo "<td>$DepMens</td>";
   	             echo "<td>$DepAcum</td>";
                 echo "<td>$VlrRes</td>";
               echo "</tr>";
	          $i++;
	         }
		   }
         echo "</table>";
		echo "</div>";
		echo "<p><a href='index.php'><< Fazer  outra pesquisa</a></p>";
        echo "<p>";
          echo "<input type='submit' name='GerarArquivo' value='Gerar arquivo XLS(Excel)' /> ";
          echo "<input type='button' name='Imprimir' value='Imprimir' onClick='window.print();'/>";
        echo "</p>";
		echo "</form>";
          
    break;
    
    case 'GerarArquivo': //Gera arquivo XLS
        $tipoconsulta = $_POST['tipoconsulta'];
        $dadoprocurado = $_POST['dadoprocurado'];

        header("Content-type: application/msexcel");
        header("Content-Disposition: attachment; filename=3MConsultaBensAtixoFixo.xls");

       //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
        if($tipoconsulta == "Departamento") {//BUSCA POR DEPTO.
 	       $sql = "SELECT * FROM ativofixo WHERE CCusto LIKE '%".$dadoprocurado."%' ";
           $query = mysql_query($sql) or die("Ocorreu um erro: ".mysql_error());
           $num_linhas = mysql_num_rows($query);
        }
        else if($tipoconsulta == "NumeroAtivo") {//BUSCA POR NUMERO DE ATIVO
	       $sql = "SELECT * FROM ativofixo WHERE Chapa LIKE '%".$dadoprocurado."%' ";
           $query = mysql_query($sql) or die("Ocorreu um erro: ".mysql_error());
           $num_linhas = mysql_num_rows($query);
        }
        else if($tipoconsulta == "DescricaoAtivo") {//BUSCA POR DESCRICAO DE ITEM
	       $sql = "SELECT * FROM ativofixo WHERE DescItem LIKE '%".$dadoprocurado."%' ";
           $query = mysql_query($sql) or die("Ocorreu um erro: ".mysql_error());
           $num_linhas = mysql_num_rows($query);
        }
       //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
         echo "<table>";
           echo "<tr>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>NUMERO DO ATIVO</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DESDOBRO</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>CENTRO DE CUSTO</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DESCRICAO DO ITEM</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DATA DE AQUISICAO</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DATA DA CAPITALIZACAO</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>VALOR ORIGINAL</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DEPRECIACAO MENSAL</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DEPRECIACAO ACUMULADA</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>VALOR RESIDUAL</td>";
           echo "</tr>";
       //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
           $i = 1;
           while($campo = mysql_fetch_assoc($query)) {
	         $Chapa = $campo['Chapa'];
	         $Dd = $campo['Dd'];
	         $CCusto = $campo['CCusto'];
             $DescItem = $campo['DescItem'];
	         $DtAquis = $campo['DtAquis'];
	         $DtCap = $campo['DtCap'];
  	         $VlrOrig = $campo['VlrOrig'];
	         $DepMens = $campo['DepMens'];
	         $DepAcum = $campo['DepAcum'];
	  
	         $VlrRes = ($VlrOrig - $DepAcum);
       //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
             echo "<tr>";
               echo "<td>$Chapa</td>";
               echo "<td>$Dd</td>";
               echo "<td>$CCusto</td>";
               echo "<td>$DescItem</td>";
               echo "<td>$DtAquis</td>";
               echo "<td>$DtCap</td>";
               echo "<td>$VlrOrig</td>";
		       echo "<td>$DepMens</td>";
   	           echo "<td>$DepAcum</td>";
             echo "<td>$VlrRes</td>";
             echo "</tr>";
	         $i++;
	       }
         echo "</table>";
    break;
		
    default:
        echo "Nenhuma ação selecionada.";
}
?>

Linha 144 - functions.php

while($campo = mysql_fetch_assoc($query)) {

O que será que está acontecendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Execute assim:

$sql = "SELECT * FROM `ativofixo` WHERE `Chapa` LIKE '%{$valor}%' ";
echo $sql,"\n";
             $query = mysql_query($sql)or die(mysql_error());
nos diga oque retornar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Execute assim:

$sql = "SELECT * FROM `ativofixo` WHERE `Chapa` LIKE '%{$valor}%' ";
echo $sql,"\n";
             $query = mysql_query($sql)or die(mysql_error());
nos diga oque retornar.

 

continuou com o mesmo erro,

"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\...\functions.php on line 145"

 

Line 145:

while($campo = mysql_fetch_assoc($query)) {

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro que aparece é em função de erro na consulta. Repita o processo que o Willian colocou na consulta anterior a este while. Vai imprimir a consulta e o erro do Mysql. Tente identificar o erro.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que a consulta nao esteja com erro, porque se eu pesquisar por departamento, a pagina busca.php me tras os resultados da consulta certinho, nesta mesma página, tenho um botao - "Gerar Arquivo XLS". quando clico nele ele gera normalmente, trazendo todos os resultados da consulta.

O problema é que, se eu consultar por numero do ativo ou por descrição do ativo, ele me retorna os registros da consulta na pagina busca.php normalmente também, na hora de gerar o XLS ele gera, mas aparece em uma celula da planilha esse erro que postei e ele nao traz os resultados da consulta na planilha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leia o erro. você nos informou o erro da função fetch_assoc, ela não recebeu uma query válida, por isso disparou o Warning.

 

Precisamos saber qual o erro do sql, por isso pedi para dar echo na consulta, e para fazer o mysql_error().

Difícil te ajudar, se você não seguir os passos que lhe indiquei.

 

"Também" estou procurando o erro. O 'debug' começa de onde lhe mostrei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\...\functions.php on line 145"

 

O erro é muito claro. O recurso que foi passado para a função mysql_fetch_assoc não é um recurso válido. Isto acontece porque a consulta apresentou um erro. Se quiser resolver, imprima a query antes de executar (para efeito de debug) e adicione o or die(mysql_error()) para exibir o erro do mysql.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\...\functions.php on line 145"

 

O erro é muito claro. O recurso que foi passado para a função mysql_fetch_assoc não é um recurso válido. Isto acontece porque a consulta apresentou um erro. Se quiser resolver, imprima a query antes de executar (para efeito de debug) e adicione o or die(mysql_error()) para exibir o erro do mysql.

 

Carlos Eduardo

 

Eu fiz o que o William falou, continua retornando a mesma coisa:

 

"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\...\functions.php on line 147"

 

functions.php

<?php require_once("conecta.php"); ?>
<?php 
function get_post_action($name)
{
    $params = func_get_args();
    
    foreach ($params as $name) {
        if (isset($_POST[$name])) {
            return $name;
        }
    }
}

switch (get_post_action('Selecionar', 'GerarArquivo')) {
    case 'Selecionar': //Seleciona registros de acordo com checkboxes
	    header('Content-Type: text/html; charset=utf-8');
		echo "<style type='text/css'>";
        echo "@import url('estilo.css');";
        echo "</style>";

		echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
        echo "<tr valign='middle'>";
        echo "<td align='left'><img src='Imagens/Logo3M.jpg' alt='Logo' width='218' height='111' hspace='5' /></td>";
        echo "<td bgcolor='#0000A0'></td>";
        echo "<td> </td>";
        echo "<td align='left' width='100%'>";
        echo "<span class='heading'>CONTABILIDADE CORPORATIVA</span><br/>";
        echo "<span class='Italico'> Consulta de Bens - Ativo Fixo</span>";
        echo "</td>";
        echo "<td> </td>";
        echo "<td><img src='Imagens/caduceu.GIF' alt='Caduceu - Símbolo da Contabilidade' width='123' height='142' border='0' /></td>";
        echo "<td> </td>";
        echo "</tr>";
        echo "<tr>";
        echo "<td width='100%' colspan='7'></td>";
        echo "</tr>";
        echo "<tr>";
        echo "<td bgcolor='#0000A0' width='100%' height='8' colspan='7'></td>";
        echo "</tr>";
        echo "</table>";
		echo "<form action='functions.php' method='post'>";
		echo "<div id='tablebusca'>";
		echo "<br /><br />";
	     echo "<table width='95%' border='1' bordercolor='#0000A0' cellpadding='1' cellspacing='0' align='center'>";
		 
           echo "<tr>";
             echo "<td bgcolor='#CCCCCC' scope='col'>NUMERO DO ATIVO</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DESDOBRO</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>CENTRO DE CUSTO</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DESCRICAO DO ITEM</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DATA DE AQUISICAO</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DATA DA CAPITALIZACAO</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>VALOR ORIGINAL</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DEPRECIACAO MENSAL</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>DEPRECIACAO ACUMULADA</td>";
             echo "<td bgcolor='#CCCCCC' scope='col'>VALOR RESIDUAL</td>";
           echo "</tr>";
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
           for($cont=0;$cont<count($_POST['checkbox']);$cont++){
		     $valor = $_POST['checkbox'][$cont];
			 $sql = "SELECT * FROM ativofixo WHERE Chapa LIKE '".$valor."' ";
             $query = mysql_query($sql);
             $num_linhas = mysql_num_rows($query);
			 $i = 1;
             while($campo = mysql_fetch_assoc($query)) {
	           $Chapa = $campo['Chapa'];
	           $Dd = $campo['Dd'];
	           $CCusto = $campo['CCusto'];
               $DescItem = $campo['DescItem'];
	           $DtAquis = $campo['DtAquis'];
	           $DtCap = $campo['DtCap'];
  	           $VlrOrig = $campo['VlrOrig'];
	           $DepMens = $campo['DepMens'];
	           $DepAcum = $campo['DepAcum'];
				
			   $VlrRes = ($VlrOrig - $DepAcum);
				
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
               echo "<tr>";
                 echo "<td>$Chapa</td>";
                 echo "<td>$Dd</td>";
                 echo "<td>$CCusto</td>";
                 echo "<td>$DescItem</td>";
                 echo "<td>$DtAquis</td>";
                 echo "<td>$DtCap</td>";
                 echo "<td>$VlrOrig</td>";
		         echo "<td>$DepMens</td>";
   	             echo "<td>$DepAcum</td>";
                 echo "<td>$VlrRes</td>";
               echo "</tr>";
	          $i++;
	         }
		   }
         echo "</table>";
		echo "</div>";
		echo "<p><a href='index.php'><< Fazer  outra pesquisa</a></p>";
        echo "<p>";
          echo "<input type='submit' name='GerarArquivo' value='Gerar arquivo XLS(Excel)' /> ";
          echo "<input type='button' name='Imprimir' value='Imprimir' onClick='window.print();'/>";
        echo "</p>";
		echo "</form>";
          
    break;
    
    case 'GerarArquivo': //Gera arquivo XLS
        $tipoconsulta = $_POST['tipoconsulta'];
        $dadoprocurado = $_POST['dadoprocurado'];

        header("Content-type: application/msexcel");
        header("Content-Disposition: attachment; filename=3MConsultaBensAtixoFixo.xls");

       //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
        if($tipoconsulta == "Departamento") {//BUSCA POR DEPTO.
 	       $sql = "SELECT * FROM `ativofixo` WHERE `CCusto` LIKE '%{$dadoprocurado}%' ";
		   echo $sql,"\n";
           $query = mysql_query($sql) or die("Ocorreu um erro: ".mysql_error());
           $num_linhas = mysql_num_rows($query);
        }
        else if($tipoconsulta == "NumeroAtivo") {//BUSCA POR NUMERO DE ATIVO
		   $sql = "SELECT * FROM `ativofixo` WHERE `Chapa` LIKE '%{$dadoprocurado}%' ";
           echo $sql,"\n";
           $query = mysql_query($sql)or die(mysql_error());
           $num_linhas = mysql_num_rows($query);
        }
        else if($tipoconsulta == "DescricaoAtivo") {//BUSCA POR DESCRICAO DE ITEM
	       $sql = "SELECT * FROM `ativofixo` WHERE `DescItem` LIKE '%{$dadoprocurado}%' ";
		   echo $sql,"\n";
           $query = mysql_query($sql) or die("Ocorreu um erro: ".mysql_error());
           $num_linhas = mysql_num_rows($query);
        }
       //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
         echo "<table>";
           echo "<tr>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>NUMERO DO ATIVO</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DESDOBRO</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>CENTRO DE CUSTO</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DESCRICAO DO ITEM</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DATA DE AQUISICAO</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DATA DA CAPITALIZACAO</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>VALOR ORIGINAL</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DEPRECIACAO MENSAL</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>DEPRECIACAO ACUMULADA</td>";
             echo "<td bgcolor='#CCCCCC' style='font-weight: bold'>VALOR RESIDUAL</td>";
           echo "</tr>";
       //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
           $i = 1;
           while($campo = mysql_fetch_assoc($query)) {
	         $Chapa = $campo['Chapa'];
	         $Dd = $campo['Dd'];
	         $CCusto = $campo['CCusto'];
             $DescItem = $campo['DescItem'];
	         $DtAquis = $campo['DtAquis'];
	         $DtCap = $campo['DtCap'];
  	         $VlrOrig = $campo['VlrOrig'];
	         $DepMens = $campo['DepMens'];
	         $DepAcum = $campo['DepAcum'];
	  
	         $VlrRes = ($VlrOrig - $DepAcum);
       //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
             echo "<tr>";
               echo "<td>$Chapa</td>";
               echo "<td>$Dd</td>";
               echo "<td>$CCusto</td>";
               echo "<td>$DescItem</td>";
               echo "<td>$DtAquis</td>";
               echo "<td>$DtCap</td>";
               echo "<td>$VlrOrig</td>";
		       echo "<td>$DepMens</td>";
   	           echo "<td>$DepAcum</td>";
             echo "<td>$VlrRes</td>";
             echo "</tr>";
	         $i++;
	       }
         echo "</table>";
    break;
		
    default:
        echo "Nenhuma ação selecionada.";
}
?>

 

quando consulto por departamento, que é quando ele gera normalmente ele retorna isso:

 

"SELECT * FROM `ativofixo` WHERE `CCusto` LIKE '%0669%'"

por causa do echo:

else if($tipoconsulta == "NumeroAtivo") {//BUSCA POR NUMERO DE ATIVO
		   $sql = "SELECT * FROM `ativofixo` WHERE `Chapa` LIKE '%{$dadoprocurado}%' ";
           echo $sql,"\n";
           $query = mysql_query($sql)or die(mysql_error());
           $num_linhas = mysql_num_rows($query);
        }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só para eu tirar uma dúvida... Coloque isto.

 

        else if($tipoconsulta == "DescricaoAtivo") {//BUSCA POR DESCRICAO DE ITEM
               $sql = "SELECT * FROM `ativofixo` WHERE `DescItem` LIKE '%{$dadoprocurado}%' ";
                   echo $sql,"\n";
           $query = mysql_query($sql) or die("Ocorreu um erro: ".mysql_error());
           $num_linhas = mysql_num_rows($query);
        }// até aqui está igual. só adicione este final
        else
        { 
             die('Não entrou em nenhum dos outros elseif, então não existe a $query. Verifique isto.');
        }

Veja se imprime alguma coisa na tela.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só para eu tirar uma dúvida... Coloque isto.

 

        else if($tipoconsulta == "DescricaoAtivo") {//BUSCA POR DESCRICAO DE ITEM
               $sql = "SELECT * FROM `ativofixo` WHERE `DescItem` LIKE '%{$dadoprocurado}%' ";
                   echo $sql,"\n";
           $query = mysql_query($sql) or die("Ocorreu um erro: ".mysql_error());
           $num_linhas = mysql_num_rows($query);
        }// até aqui está igual. só adicione este final
        else
        { 
             die('Não entrou em nenhum dos outros elseif, então não existe a $query. Verifique isto.');
        }

 

Veja se imprime alguma coisa na tela.

 

Carlos Eduardo

 

Fiz o que você pediu e ele retornou isso mesmo:

 

"'Não entrou em nenhum dos outros elseif, então não existe a $query. Verifique isto.'"

 

O que devo fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Significa que não atendeu nenhuma das condições possíves...

 

// não entrou aqui
if($tipoconsulta == "Departamento") {//BUSCA POR DEPTO.
// nem aqui
else if($tipoconsulta == "NumeroAtivo") {//BUSCA POR NUMERO DE ATIVO
// nem aqui
else if($tipoconsulta == "DescricaoAtivo") {//BUSCA POR DESCRICAO DE ITEM

$tipoconsulta teria qual valor neste caso? Provavelmente você terá que colocar outro elseif, ou então um else.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Significa que não atendeu nenhuma das condições possíves...

 

// não entrou aqui
if($tipoconsulta == "Departamento") {//BUSCA POR DEPTO.
// nem aqui
else if($tipoconsulta == "NumeroAtivo") {//BUSCA POR NUMERO DE ATIVO
// nem aqui
else if($tipoconsulta == "DescricaoAtivo") {//BUSCA POR DESCRICAO DE ITEM

$tipoconsulta teria qual valor neste caso? Provavelmente você terá que colocar outro elseif, ou então um else.

 

Carlos Eduardo

 

index.php

Imagem Postada

 

Tenho 3 valores no select: Departamento, NumeroAtivo e DescricaoAtivo.

busca por departamento gera excel normalmente.

NumeroAtivo e DescricaoAtivo geram com o erro.

nessa parte do codigo, ele está verificando o tipo de consulta que o usuario quer fazer, e dando procedimento à busca de acordo com isso.

if($tipoconsulta == "Departamento") {//BUSCA POR DEPTO.
               $sql = "SELECT * FROM `ativofixo` WHERE `CCusto` LIKE '%{$dadoprocurado}%' ";
                   echo $sql,"\n";
           $query = mysql_query($sql) or die("Ocorreu um erro: ".mysql_error());
           $num_linhas = mysql_num_rows($query);
        }
        else if($tipoconsulta == "NumeroAtivo") {//BUSCA POR NUMERO DE ATIVO
                   $sql = "SELECT * FROM `ativofixo` WHERE `Chapa` LIKE '%{$dadoprocurado}%' ";
           echo $sql,"\n";
           $query = mysql_query($sql)or die(mysql_error());
           $num_linhas = mysql_num_rows($query);
        }
        else if($tipoconsulta == "DescricaoAtivo") {//BUSCA POR DESCRICAO DE ITEM
               $sql = "SELECT * FROM `ativofixo` WHERE `DescItem` LIKE '%{$dadoprocurado}%' ";
                   echo $sql,"\n";
           $query = mysql_query($sql) or die("Ocorreu um erro: ".mysql_error());
           $num_linhas = mysql_num_rows($query);
        }

Não tenho mais condições para colocar outro else ou else if, porque só tenho 3 opções de consulta.

 

Att,

Marcelo Santos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então... Vamos fazer o seguinte... Coloque o else assim...

 

else
{
    die('A $tipoconsulta tem o valor de '.$tipoconsulta);
}

Porque fazer isto? O valor de $tipoconsulta no momento deve estar diferente de

$tipoconsulta == "NumeroAtivo"

Por isto, fazendo este teste, veja EXATAMENTE como aparece o valor.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO!

 

O problema era que eu tinha colocado na pagina functions.php Numero_Ativo e Descricao_Ativo, e na página index estava NumeroAtivo e DescricaoAtivo

esse era o erro...por isso ele nao estava encontrando o valor...

 

Agora o probleminha é com SESSION, mais vou ter que criar novo tópico...

 

Pessoal, muito obrigado pela ajuda.

Até logo!

 

Att,

Marcelo Santos

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.