Página 1 de 1

Erro em If em PHP

Enviado: 11 Mai 2014 01:21
por cjp
Alguém poderia me ajudar a descobrir o erro que contém esta função:

Código: Selecionar todos

<html>
 <head>
  <title>Consulta</title>
 </head>
 <body>
<?php
$txtArquivo = "COMPRAS.DBF";
$txtCampo = "PRODUTO";
$txtPesquisa = ($_POST["filtro3"]);

$dsn = "DRIVER={Microsoft dBase Driver (*.dbf)};DBQ=".dirname($_SERVER['SCRIPT_FILENAME'])."/meusarq/agenda/;";
$conn= odbc_connect($dsn,"","");
if(!$conn)
 { exit("conexao falhou: ".odbc_errormsg()); }
 if (ctype_digit($txtPesquisa)) {
  $sql="SELECT * FROM ".$txtArquivo." WHERE ".$txtCampo." = '".$txtPesquisa."'";
 } else {
  $sql="SELECT * FROM ".$txtArquivo." WHERE ".$txtCampo." LIKE '%".$txtPesquisa."%'";
 }
 $rs=odbc_exec($conn,$sql);
 if (!$rs)
 {exit("Error in SQL");}

 $i = 0; 
 $fieldCount = odbc_num_fields($rs); 
 echo '<table Border="1"><tr>';
 while ($i < $fieldCount) 
 { 
   $i++; 
   $fieldName = odbc_field_name($rs, $i); 
   echo "<th>$fieldName</th>"; 
 } 
 echo "</tr>";
 while (odbc_fetch_row($rs))
 {
  echo "<tr>";
  $i = 0;
  while ($i < $fieldCount)
  {
   $i++; 
   $fieldName = odbc_field_name($rs, $i); 
   $compname=odbc_result($rs,$fieldName);
   if ($i=1){
      echo "<td><a href='dproduto.php' target='_top'>".$compname."</a></td>";
   }else{
      echo "<td>$compname</td>";
   }
  }
  echo "</tr>";
 }
 echo "</table>";
 odbc_close($conn);
?>
 </body>
</html>
O problema, creio eu, deve estar no if da linha 43, pois, aparentemente, ele está em loop aí.

Veja como fica a tela dessa consulta:

Imagem

Imagem

Se eu tiro o if e o else, funciona perfeitamente, tanto deixando apenas:

Código: Selecionar todos

      {echo "<td><a href='dproduto.php' target='_top'>".$compname."</a></td>";}
Quanto deixando apenas:
{echo "<td>$compname</td>";}
Pelo que vi no manual de PHP, a sintaxe da função está correta.

O que estou fazendo errado?

Erro em If em PHP

Enviado: 11 Mai 2014 17:50
por Maligno
Note que o operador de comparação é "==", mas você está utilizando na linha 43 o operador de atribuição "=". Daí,...

Erro em If em PHP

Enviado: 12 Mai 2014 01:49
por cjp
Vacilei!!!

Funcionou agora. Muito obrigado.