Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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">](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">](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?
Carregando comentários...