Jump to content
Fórum Script Brasil
  • 0

Minha consulta não roda


julioocf
 Share

Question

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

Edited by julioocf
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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.
Edited by wootzor
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...