Ir para conteúdo
Fórum Script Brasil
  • 0

Minha consulta não roda


julioocf

Pergunta

Olá pessoal, fazem uns 7 anos que não mexo com PHP, porém estou me aventurando em criar um script de consulta para um banco de dados da minha empresa.

A consulta SQL está perfeita, já foi testada diretamente no SQL, inclusive foi feita pelo DBA, porém o script PHP que fiz não esta sendo executado pelo botão submit.

A consulta consiste em um formulário html, que possui dois campos onde se insere um código próprio denominado contra senha, dois radios buttons que indicarão qual consulta deve ser executada. Ao clicar no "pesquisar" ele deve verificar qual radio foi marcado e pesquisar a contra senha que ali se encontra, retornando uma tabela com quantos registros houver.

Segue o que está feito até agora:

 

HOME.HTML

<html>
<head><title></title></head>

<body>

<div id="1">

<form action="script.php" method="POST">

<table border="2" align="center">

<tr>
    <td colspan="3"> <center> INSIRA OS DADOS À SEREM PESQUISADOS </center>
    </td>
</tr>

<tr>
    <td width="150" height="40">
    Insira a Contra Senha:
    </td>

    <td> <input type="text" name="contrasenha" maxlength="46" size="60">
    </td>

    <td> <input type="radio" name="opcao" value="escolhe1"/> Utilizar
    </td>

</tr>

<tr>
    <td width="150" height="30">
    Insira a Contra Senha do Analítico:
    </td>

    <td align="center"> <input type="text" name="contraanalitico" maxlength="46" size="60">
    </td>

    <td> <input type="radio" name="opcao" value="escolhe2"/> Utilizar
    </td>
    
</tr>

<tr>
    <td colspan="3"> <center> <input type="submit" name="pesquisa" value="Pesquisar"> </center>
    </td>
</tr>


</table>
</form>

</div>

<div align="center" id="2">

<table border="3">

<tr>
    <td colspan="3" align="center"> Contra Senha Câmeras
    </td>
</tr>

</table>

</div>

<BR>

<div align="center" id="3">

<table border="3">

<tr>
    <td colspan="4" align="center"> Contra Senha Analítico
    </td>
</tr>

</table>

</div>


</body>
</html>

 

 

SCRIPT.PHP

<html>
<head><title></title></head>

<body>


<?php
 
$host= "**********";
$usuario= "********";
$senhabd= "*********";
$bd= "**********";

$conexao = mssql_connect($host, $usuario, $senhabd) or die ("Não há conexão com servidor");
mssql_select_db($bd) or die ("Não há conexão com a tabela");


$contrasenha = $_POST ["contrasenha"];
$contraanalitico = $_POST ["contraanalitico"];
$opcao = $_POST ["opcao"];


switch ($opcao)

{
    case escolhe1 :
    
    $query = "SELECT C.CONTRA_SENHA, L.DATA,
    CASE P.DEMO
        WHEN 1 THEN 'Demo'
        WHEN 0 THEN 'Oficial'
    END Tipo
    FROM T_LICENCAS_OFICIAIS L
    INNER JOIN T_SERVIDORES_CONTRA_SENHAS C ON C.CODIGO = L.CONTRA_SENHA
    LEFT JOIN T_SOLICITACOES_REGISTRO R ON R.CONTRA_SENHA = C.CONTRA_SENHA
    INNER JOIN T_VENDAS_ITENS I ON I.CODIGO = L.VENDA_ITEM
    INNER JOIN T_PART_NUMBERS P ON P.CODIGO = I.PART_NUMBER
    WHERE C.CONTRA_SENHA = $contrasenha

UNION

    SELECT L.CONTRA_SENHA, L.DATA, R.AUXILIARY_CODE, 
    CASE P.DEMO
        WHEN 1 THEN 'Demo'
        WHEN 0 THEN 'Oficial'
    END Tipo
    FROM T_LICENCAS_DEMO_EXTERNAS L
    LEFT JOIN T_SOLICITACOES_REGISTRO R ON R.CONTRA_SENHA = L.CONTRA_SENHA
    INNER JOIN T_PART_NUMBERS P ON P.CODIGO = L.PART_NUMBER
    WHERE L.CONTRA_SENHA = $contrasenha" 
    
    $consulta= mysql_query($query);
    echo '<table>';
    echo '<tr>';
    echo '<td> Final CS </td>';
    echo '<td> Tipo Licença </td>';
    echo '<td> Data Solicitação </td>';
    echo '</tr>';
    echo '</table>';

while ($registro = mysql_fetch_assoc($consulta)) {
    echo '<tr>';
    echo '<td>'.$registro["L.CONTRA_SENHA"].'</td>';
    echo '<td>'.$registro["P.DEMO"].'</td>';
    echo '<td>'.$registro["L.DATA"].'</td>';
    echo '</tr>'
}
echo '</table>';


break;    

    
    case escolhe2 :

    $query = "SELECT C.CONTRA_SENHA, L.DATA, R.AUXILIARY_CODE, 
    CASE P.DEMO
        WHEN 1 THEN 'Demo'
        WHEN 0 THEN 'Oficial'
    END Tipo
    FROM T_LICENCAS_OFICIAIS L
    INNER JOIN T_SERVIDORES_CONTRA_SENHAS C ON C.CODIGO = L.CONTRA_SENHA
    LEFT JOIN T_SOLICITACOES_REGISTRO R ON R.CONTRA_SENHA = C.CONTRA_SENHA
    INNER JOIN T_VENDAS_ITENS I ON I.CODIGO = L.VENDA_ITEM
    INNER JOIN T_PART_NUMBERS P ON P.CODIGO = I.PART_NUMBER
    WHERE C.CONTRA_SENHA = $contraanalitico

UNION

    SELECT L.CONTRA_SENHA, L.DATA, R.AUXILIARY_CODE, 
    CASE P.DEMO
        WHEN 1 THEN 'Demo'
        WHEN 0 THEN 'Oficial'
    END Tipo
    FROM T_LICENCAS_DEMO_EXTERNAS L
    LEFT JOIN T_SOLICITACOES_REGISTRO R ON R.CONTRA_SENHA = L.CONTRA_SENHA
    INNER JOIN T_PART_NUMBERS P ON P.CODIGO = L.PART_NUMBER
    WHERE L.CONTRA_SENHA = $contraanalitico" 
    
    $consulta= mysql_query($query);
    echo '<table>';
    echo '<tr>';
    echo '<td> Final CS </td>';
    echo '<td> Tipo Licença </td>';
    echo '<td> Data Solicitação </td>';
    echo '<td> Código Auxiliar </td>';
    echo '</tr>';
    echo '</table>';

while ($registro = mysql_fetch_assoc($consulta)) {
    echo '<tr>';
    echo '<td>'.$registro["L.CONTRA_SENHA"].'</td>';
    echo '<td>'.$registro["P.DEMO"].'</td>';
    echo '<td>'.$registro["L.DATA"].'</td>';
    echo '<td>'.$registro["R.AUXILIARY_CODE"].'</td>';
    echo '</tr>'
}
echo '</table>';


break;


    deafult : "echo Nenhuma opção selecionada";

}


?>

</body>
</html>

 

Se alguém puder me auxiliar, desde já agradeço

 

Obrigado

Editado por julioocf
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Assumindo que os campos $contrasenha e $contraanalitico são textuais, tens de encapsulá-las entre plicas ou aspas. Tenta assim:

<?php
$query = "SELECT C.CONTRA_SENHA, L.DATA,
	      CASE P.DEMO
	         WHEN 1 THEN 'Demo'
	         WHEN 0 THEN 'Oficial'
	      END Tipo
	      FROM T_LICENCAS_OFICIAIS L
	      INNER JOIN T_SERVIDORES_CONTRA_SENHAS C ON C.CODIGO = L.CONTRA_SENHA
	      LEFT JOIN T_SOLICITACOES_REGISTRO R ON R.CONTRA_SENHA = C.CONTRA_SENHA
	      INNER JOIN T_VENDAS_ITENS I ON I.CODIGO = L.VENDA_ITEM
	      INNER JOIN T_PART_NUMBERS P ON P.CODIGO = I.PART_NUMBER
	      WHERE C.CONTRA_SENHA = '$contrasenha'
	      UNION
	      SELECT L.CONTRA_SENHA, L.DATA, R.AUXILIARY_CODE, 
	      CASE P.DEMO
	          WHEN 1 THEN 'Demo'
	          WHEN 0 THEN 'Oficial'
	      END Tipo
	      FROM T_LICENCAS_DEMO_EXTERNAS L
	      LEFT JOIN T_SOLICITACOES_REGISTRO R ON R.CONTRA_SENHA = L.CONTRA_SENHA
	      INNER JOIN T_PART_NUMBERS P ON P.CODIGO = L.PART_NUMBER
	      WHERE L.CONTRA_SENHA = '$contrasenha'";
Outro conselho: testa as consultas directamente no MySQL (i.e., substituindo as variáveis por valores) para teres a certeza que funcionam.
Editado por wootzor
Link para o comentário
Compartilhar em outros sites

  • 0
16 horas atrás, wootzor disse:

Assumindo que os campos $contrasenha e $contraanalitico são textuais, tens de encapsulá-las entre plicas ou aspas. Tenta assim:


<?php
$query = "SELECT C.CONTRA_SENHA, L.DATA,
	      CASE P.DEMO
	         WHEN 1 THEN 'Demo'
	         WHEN 0 THEN 'Oficial'
	      END Tipo
	      FROM T_LICENCAS_OFICIAIS L
	      INNER JOIN T_SERVIDORES_CONTRA_SENHAS C ON C.CODIGO = L.CONTRA_SENHA
	      LEFT JOIN T_SOLICITACOES_REGISTRO R ON R.CONTRA_SENHA = C.CONTRA_SENHA
	      INNER JOIN T_VENDAS_ITENS I ON I.CODIGO = L.VENDA_ITEM
	      INNER JOIN T_PART_NUMBERS P ON P.CODIGO = I.PART_NUMBER
	      WHERE C.CONTRA_SENHA = '$contrasenha'
	      UNION
	      SELECT L.CONTRA_SENHA, L.DATA, R.AUXILIARY_CODE, 
	      CASE P.DEMO
	          WHEN 1 THEN 'Demo'
	          WHEN 0 THEN 'Oficial'
	      END Tipo
	      FROM T_LICENCAS_DEMO_EXTERNAS L
	      LEFT JOIN T_SOLICITACOES_REGISTRO R ON R.CONTRA_SENHA = L.CONTRA_SENHA
	      INNER JOIN T_PART_NUMBERS P ON P.CODIGO = L.PART_NUMBER
	      WHERE L.CONTRA_SENHA = '$contrasenha'";

Outro conselho: testa as consultas directamente no MySQL (i.e., substituindo as variáveis por valores) para teres a certeza que funcionam.

wootzor obrigado, eu testei e ele continua me retornando o erro de "object not found" com a url não sendo encontrada no server.

Estou usando o Xampp para rodar php e estou acessando pela pasta que o apache busca o arquivo sem problemas, mas ao tentar executar recebo o erro de url

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...