5
respostas

Criando um botão pesquisa

Gostaria de quando colocasse o numero do Id no campo matricula ele me devolvesse os dados: Nome, Rua, Cidade, Estado, dentro do campo AreaTexto.

tenho os seguintes códigos Obs. ja está sendo salvo no banco

html com formulário

<?php include("cabecalho.php");
include("conexao.php");?>

<div class="container">
    <header>
        <div class="row">
            <div>
                <h1 class="text-center text-info">Fatura de Água</h1>
            </div>
        </div>
        <table class="table">
            <td>
                <p class="text-center" >AguaSoft - Sistema de gestão de águas e esgoto<br/>
                Avenida Senador Caixa D'água, 1999, Água Potável, CEP 55999-000<br/>
                CNPJ: 12.345.678/0001-90 - Insc. Estadual: 12.345.678-90<br/>
                Contatos: (84)1234-5678 - contato@semsolução.com</p>    
            </td>
        </table>
    </header>
</div>

<div class="container">
   <form action="adiciona-fatura.php" method="post">
    <div class="row">
        <div class="col-md-6 col-md-push-3">
        <form name="pesquisarCliente" method="post" action="fatura.php?dadosCliente">
            <table class="table-condensed">
                <tr>
                    <!--<td class="col-md-4">N° NFE<input name="idFatura" class="form-control" type="number"></td>-->
                    <td class="col-md-4">Matrícula<input name="buscaCliente" class="form-control" type="number"><input type="submit" value="Ir"></td>
                    <td class="col-md-4">Hidrômetro<input name="hidrometro" class="form-control" type="number"></td>
                    <td class="col-md-4">Referência<input class="form-control" type="text"  name="dataRef" id="data" value="<?php echo date("M/Y");?>"></td>
                </tr>
            </table>
          </form>
           </div>
    </div>
    <div class="row">
        <h3>Dados do Cliente</h3>
    </div>
    <div class="row">
        <table class="table">
        <?php
            $buscaCliente = $_POST['buscaCliente'];
            $sql = mysqli_query("select * from clientes where idCliente LIKE '%".$buscaCliente."%'");
            $row = mysqli_num_rows($sql);
            if($row > 0){
                while($linha = mysqli_fetch_array($sql)){
                    $nomeCliente = $linha['nomeCliente'];
                    $ruaCliente = $linha['ruaCliente'];
                    $numeroCliente = $linha['numeroCliente'];
                    $bairroCliente = $linha['bairroCliente'];
                }    echo $nomeCliente;
            }else{
                echo "deu erro!!!!";
            }
            ?>
            <textarea class="form-control" rows="6" name="dadosCliente" value="">

            </textarea>

           </table>
    </div>
    <div class="row">
        <h3>Dados de Consumo</h3>
    </div>
    <div class="row">
        <table class="table">
            <tr>
                <td><label for="Hidrometro">Leitura Anterior</label>
                    <input class="form-control" name="lAnterior" type="text">
                </td>
                <td><label for="Hidrometro">Leitura Atual</label>
                    <input class="form-control" name="lAtual" type="text">
                   </td>
                <td><label for="Hidrometro">Consumo m³</label>
                    <input class="form-control" name="consumo" type="text">
                   </td>
                   <td><label for="Hidrometro">Data Leitura</label>
                    <input class="form-control" name="dataLeitura" type="date">
                   </td>
                   <td><label for="Hidrometro">Dias de Consumo</label>
                    <input class="form-control" name="diaConsumo" type="text">
                   </td>
            </tr>
           </table>
    </div>
    <div class="row">
        <table class="table">
            <tr>
                <td><label for="Hidrometro">Valor m³</label>
                    <input class="form-control" name="valorUnt" type="text">
                </td>
                <td><label for="Hidrometro">Total a Pagar</label>
                    <input class="form-control" name="valorTotal" type="text">
                   </td>
                   <td><label for="Hidrometro">Data de Vencimento</label>
                    <input class="form-control" name="dataVencimento" type="date">
                   </td>
            </tr>
           </table>
    </div>
</div>
<div class="container">
            <div class="row">
                <div class="form-group">
                    <input name="cadastrar" type="submit" value="Emitir NFE" class="btn btn-info">
                    <button class="btn btn-danger">CANCELAR</button>
                </div>
            </div>
</div>

    </form>

<?php include("rodape.php");?>
5 respostas

Me parece que é só vc pegar suas variáveis declaradas no bloco em php e colocar dentro do textarea.

Não deu certo o que tenho é os sequentes erros quando clico em Ir:

Notice: Undefined index: idCliente in C:\xampp\htdocs\aguasoft\adiciona-fatura.php on line 7

Notice: Undefined index: dadosCliente in C:\xampp\htdocs\aguasoft\adiciona-fatura.php on line 10

Notice: Undefined index: lAnterior in C:\xampp\htdocs\aguasoft\adiciona-fatura.php on line 11

Notice: Undefined index: lAtual in C:\xampp\htdocs\aguasoft\adiciona-fatura.php on line 12

Notice: Undefined index: consumo in C:\xampp\htdocs\aguasoft\adiciona-fatura.php on line 13

Notice: Undefined index: dataLeitura in C:\xampp\htdocs\aguasoft\adiciona-fatura.php on line 14

Notice: Undefined index: diaConsumo in C:\xampp\htdocs\aguasoft\adiciona-fatura.php on line 15

Notice: Undefined index: valorUnt in C:\xampp\htdocs\aguasoft\adiciona-fatura.php on line 16

Notice: Undefined index: valorTotal in C:\xampp\htdocs\aguasoft\adiciona-fatura.php on line 17

Notice: Undefined index: dataVencimento in C:\xampp\htdocs\aguasoft\adiciona-fatura.php on line 18

Oi Tacio, tudo bom?

Tenta dar um var_dump na $linha pra ver o que a gente tem dentro dela =)

Pelos seus erros, parece que não foi possivel encontrar os indices que a gente quer. Verifica no seu banco se os campos tem esse nome mesmo.

Aguardo retorno. Abraço!

Esses erros de "Undefined index" devem ser por causa que está se tentando ler uma variavel "POST" ou "GET" que não está sendo recebida pela página "adiciona-fatura". Olhando o HTML postado, com exceção da variavel "idCliente", eu tenho campos INPUT com os nomes citados nas mensagens de erro (diaConsumo, dataLeitura, etc...).

Algo que pode estar atrapalhando é que tem um formulário dentro do outro. Eu tenho um formulário que aponta para "adiciona-fatura.php" e outro que aponta para "fatura.php?dadosCliente", que está dentro deste primeiro formulário. Ambos enviam dados usando o método POST.

Se o HTML citado se refere a página "fatura.php", eu vejo que a parte de baixo é condicional, ou seja, os blocos "Dados do Cliente" e "Dados de Consumo" dependem da pesquisa ser feita com sucesso.

Creio que fazendo um pequeno ajuste deve funcionar. O primeiro bloco ficaria assim:


    <form name="pesquisarCliente" method="post" action="fatura.php?dadosCliente">
    <div class="row">
        <div class="col-md-6 col-md-push-3">

            <table class="table-condensed">
                <tr>
                    <!--<td class="col-md-4">N° NFE<input name="idFatura" class="form-control" type="number"></td>-->
                    <td class="col-md-4">Matrícula<input name="buscaCliente" class="form-control" type="number"><input type="submit" value="Ir"></td>
                    <td class="col-md-4">Hidrômetro<input name="hidrometro" class="form-control" type="number"></td>
                    <td class="col-md-4">Referência<input class="form-control" type="text"  name="dataRef" id="data" value="<?php echo date("M/Y");?>"></td>
                </tr>
            </table>

           </div>
    </div>
     </form>

E o resto do formulário (abaixo do código acima) ficaria assim:

 <?php
  $exibir_formulario = "NAO";
  $dados_endereco_cliente = "";
  if (isset($_POST['buscaCliente'])){
            $buscaCliente = $_POST['buscaCliente'];
            $sql = mysqli_query("select * from clientes where idCliente LIKE '%".$buscaCliente."%'");
            $row = mysqli_num_rows($sql);
            if($row > 0){
                while($linha = mysqli_fetch_array($sql)){
                    $nomeCliente = $linha['nomeCliente'];
                    $ruaCliente = $linha['ruaCliente'];
                    $numeroCliente = $linha['numeroCliente'];
                    $bairroCliente = $linha['bairroCliente'];
                    echo $nomeCliente;
                    $exibir_formulario = "SIM";
                    $dados_endereco_cliente = $nomeCliente . " " .  $ruaCliente .  " " . $numeroCliente . " " . $bairroCliente . " ";
                }    
            }else{
                echo "deu erro!!!!";
            }
    }        

    if ( $exibir_formulario =="SIM"){
    ?>
     <form action="adiciona-fatura.php" method="post">
        <div class="row">
        <h3>Dados do Cliente</h3>
        </div>
        <div class="row">
            <table class="table">
                <textarea class="form-control" rows="6" name="dadosCliente" value="<?echo $dados_endereco_cliente;?>">
                </textarea>
               </table>
        </div>
        <div class="row">
            <h3>Dados de Consumo</h3>
        </div>

        <!--- Os campos do formulario ---->

    </form>
    <?
    }
    ?>

Ainda tentando por aqui e tenho os seguintes códigos O Proposito é colocar o valor de idCliente no campo matricula e puxar os informações para dentro do textearea.

Grato desde já!

fatura.php

<?php include("cabecalho.php");
include("conexao.php");
include("funcoes.php");

$idCliente = $_GET['idCliente'];
$cliente = pesquisaClientes($conexao, $idCliente);

?>

<div class="container">
    <header>
        <div class="row">
            <div>
                <h1 class="text-center text-info">Fatura de Água</h1>
            </div>
        </div>
        <table class="table">
            <td>
                <p class="text-center" >AguaSoft - Sistema de gestão de águas e esgoto<br/>
                Avenida Senador Caixa D'água, 1999, Água Potável, CEP 55999-000<br/>
                CNPJ: 12.345.678/0001-90 - Insc. Estadual: 12.345.678-90<br/>
                Contatos: (84)1234-5678 - contato@semsolução.com</p>    
            </td>
        </table>
    </header>
</div>

<div class="container">
   <form action="adiciona-fatura.php" method="post">
    <div class="row">
        <div class="col-md-6 col-md-push-3">

            <table class="table-condensed">
                <tr>
                    <!--<td class="col-md-4">N° NFE<input name="idFatura" class="form-control" type="number"></td>-->
                    <td class="col-md-4"> Matrícula
                           <div class="input-group">
                              <input type="text" class="form-control" name="idCliente"><a class=" input-group-btn btn btn-primary"href="fatura.php?dadosCliente?idCliente=<?=$cliente['idCliente']?>"><span class="glyphicon glyphicon-pencil"></span></a>
                       </div>
                    </td>

                    <td class="col-md-4">Hidrômetro<input name="hidrometro" class="form-control" type="number"></td>
                    <td class="col-md-4">Referência<input class="form-control" type="text"  name="dataRef" id="data" value="<?php echo date("M/Y");?>"></td>
                </tr>
            </table>

           </div>
    </div>         

        <div class="row">
        <h3>Dados do Cliente</h3>
        </div>
        <div class="row">
            <table class="table">
                <textarea class="form-control" rows="6" name="dadosCliente">
                <?php
                    echo($cliente['nomeCliente']);
                    echo($cliente['ruaCliente']);
                    echo($cliente['bairroCliente']);
                    echo($cliente['cepCliente']);
                    ?>
                </textarea>
               </table>
        </div>
        <div class="row">
            <h3>Dados de Consumo</h3>
        </div>
        <div class="row">
        <table class="table">
            <tr>
                <td><label for="Hidrometro">Leitura Anterior</label>
                    <input class="form-control" name="lAnterior" type="text">
                </td>
                <td><label for="Hidrometro">Leitura Atual</label>
                    <input class="form-control" name="lAtual" type="text">
                   </td>
                <td><label for="Hidrometro">Consumo m³</label>
                <div class="input-group">
                    <input class="form-control" name="consumo" type="text" value="<?php echo $consumo; ?>">
                    <span class="input-group-btn"><button class="btn btn-default" type="button" name="calculaConsumo" value="somaConsumo">Caucular</button></span>
                  </div>
                   </td>
                   <td><label for="Hidrometro">Data Leitura</label>
                    <input class="form-control" name="dataLeitura" type="text" id="data" value="<?php echo date("d/m/Y");?>">
                   </td>
                   <td><label for="Hidrometro">Dias de Consumo</label>
                    <input class="form-control" name="diaConsumo" type="text">
                   </td>
            </tr>
           </table>
    </div>
    <div class="row">
        <table class="table">
            <tr>
                <td><label for="Hidrometro">Valor m³</label>
                    <input class="form-control" name="valorUnt" type="text" value=" R$ 3,50">
                </td>

                <td><label for="Hidrometro">Total a Pagar</label>
                    <div class="input-group">
                          <input type="text" class="form-control" name="valorTotal">
                          <span class="input-group-btn"><button class="btn btn-success " type="button" name="calculaVlt">Caucular</button>
                          </span>
                       </div>
                   </td>
                   <td><label for="Hidrometro">Data de Vencimento</label>
                    <input class="form-control" name="dataVencimento" type="date">
                   </td>
            </tr>
           </table>
    </div>
</div>
<div class="container">
            <div class="row">
                <div class="form-group">
                    <input name="cadastrar" type="submit" value="Emitir NFE" class="btn btn-info">
                    <button class="btn btn-danger" type="reset">CANCELAR</button>
                </div>
            </div>
</div>

    </form>

<?php include("rodape.php");

função

function pesquisaClientes($conexao, $idCliente) {
    $query = "SELECT * FROM clientes WHERE idCliente LIKE '%".idCliente."%'";
    $resultadoClientes = mysqli_query($conexao, $query);
    return mysqli_fetch_assoc($resultadoClientes);
}