Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Pedro Lopes Corrêa

Exibição condicional em formulário de consulta

Recommended Posts

Bom dia pessoal, preciso de ajuda com um código que comecei a modificar. 

Tenho uma pagina que exibe um formulário de consulta, e nesse formulário existem apenas duas funções, que são:

Consultar por nota de entrega e consultar por protocolo. 

 

Eu gostaria que quando o usuário setar a função de consulta por protocolo, apareça apenas a caixa do numero do protocolo, e que quando o usuário setar a caixa da nota de entrega apareça a caixa de talão e de numero de nota de entrega.

 

O código da pagina de resultados é esse aqui:

function page_render_upload() {
    global $wpdb;

    if ($_POST) {
        if (!function_exists('wp_handle_upload')) {
            require_once( ABSPATH . 'wp-admin/includes/file.php' );
        }

        $uploadedfile = $_FILES['cf-file'];
        $upload_overrides = array('test_form' => false);


        $movefile = wp_handle_upload($uploadedfile, $upload_overrides);

        if ($movefile && !isset($movefile['error'])) {

            $arquivo = $movefile['file'];

            $file = fopen($arquivo, 'r');
            $linha_atual = 0;
            $insert_ok = 0;
            $insert_erro = 0;

            while (($line = fgetcsv($file)) !== FALSE) {

                if ($linha_atual > 0) {

                    $dados = $line[0];
                    $dados_exp = explode(";", $dados);

                    $NUMERO_PROTOCOLO = $dados_exp[0];
                    $TALAO_NOTA = $dados_exp[1];
                    $NUMERO_NOTA = $dados_exp[2];
                    $DESCRICAO_SERVICO = htmlentities($dados_exp[3]);
                    $DESCRICAO_SITUACAO = htmlentities($dados_exp[4]);
                    $DATA_SITUACAO = $dados_exp[5];
                    $HORA_SITUACAO = $dados_exp[6];
                    $DATA_SOLICITACAO = $dados_exp[7];
                    $HORA_SOLICITACAO = $dados_exp[8];
                    $NOME_SOLICITANTE = htmlentities($dados_exp[9]);
                    $EMAIL_SOLICITANTE = $dados_exp[10];
                    $TELEFONE_SOLICITANTE = htmlentities($dados_exp[11]);
                    $CODIGO_VALIDADOR = htmlentities($dados_exp[12]);

                    $sql = $wpdb->query("INSERT INTO {$wpdb->prefix}consulta_dado VALUES (NULL, "
                            . "'$NUMERO_PROTOCOLO', "
                            . "'$TALAO_NOTA',"
                            . "'$NUMERO_NOTA',"
                            . "'$DESCRICAO_SERVICO',"
                            . "'$DESCRICAO_SITUACAO',"
                            . "'$DATA_SITUACAO',"
                            . "'$HORA_SITUACAO',"
                            . "'$DATA_SOLICITACAO',"
                            . "'$HORA_SOLICITACAO',"
                            . "'$NOME_SOLICITANTE',"
                            . "'$EMAIL_SOLICITANTE',"
                            . "'$TELEFONE_SOLICITANTE',"
                            . "'$CODIGO_VALIDADOR')");
                    if ($sql == 1) {
                        $insert_ok++;
                    } else {
                        $insert_erro++;
                    }
                }
                $linha_atual = $linha_atual + 1;
            }
            fclose($file);
            echo '
            <div id="lost-connection-notice" class="error">
                <p>Resultado da importação.<br>	
                    <span class="hide-if-no-sessionstorage">
                        <b>Sucesso:</b> ' . $insert_ok . '<br>
                        <b>Erro:</b> ' . $insert_erro . '
                    </span>
                </p>
            </div>';
        } else {
            echo '
            <div id="lost-connection-notice" class="error">
                <p>Resultado da importação.<br>	
                    <span class="hide-if-no-sessionstorage">
                        ' . $movefile['error'] . '
                    </span>
                </p>
            </div>';
        }
        @unlink($arquivo);
    }

    echo '<div class="wrap">
            <h1 class="wp-heading-inline">Cadastrar resultados de consultas</h1>
            <hr class="wp-header-end">
            <form id="upload_resume_form" action="' . esc_url($_SERVER['REQUEST_URI']) . '" method="post" enctype="multipart/form-data">
                <div id="poststuff">
                    <div id="post-body" class="metabox-holder columns-1">
                        <div id="post-body-content">
                            <div id="titlediv">
                                <div id="titlewrap">
                                    <label for="title"><h3>Selecione o arquivo</h3></label>
                                    <input required type="file" name="cf-file" size="40" accept=".txt"/>
                                </div>
                            </div>
                        <div><input type="submit" name="cf-submitted" value="Enviar" class="button button-primary button-large"></div>
                    </div>
                </div>
            </form>
        </div>';
}

function page_resultado() {
    global $wpdb;

    echo '<div class="row">
            <div class="col-sm-12">';
    echo '<form id="upload_resume_form" action="' . esc_url($_SERVER['REQUEST_URI']) . '" method="post">
                <div class="form-group">                
                        <label for="por">Consultar por</label>
                        <br>
                        <span class="wpcf7-form-control-wrap por">
                            <select name="por" id="por" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required input-lg form-control" aria-required="true" aria-invalid="false" required>
                                <option value="" selected>Selecione</option>
                                <option value="protocolo">Número do Protocolo</option>
                                <option value="notadeentrega">Número da Nota de Entrega</option>
                            </select>
                        </span>
                        <br>
                        <span class="help-block"></span>
                </div>
                <div class="form-group">                
                        <label for="talao_nota">Informe o Talão da Nota: "C", "N" ou "A"</label>
                        <br>
                        <span class="wpcf7-form-control-wrap talao_nota">
                            <input type="text" name="talao_nota" id="talao_nota" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required input-lg form-control" aria-required="true" aria-invalid="false" />
                        </span>
                        <br>
                        <span class="help-block"></span>
                </div>
                <div class="form-group">                
                        <label for="consulta">Informe o Número</label>
                        <br>
                        <span class="wpcf7-form-control-wrap consulta">
                            <input required type="text" name="consulta" id="consulta" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required input-lg form-control" aria-required="true" aria-invalid="false" />
                        </span>
                        <br>
                        <span class="help-block"></span>
                </div>
                <div class="form-group">   
                    <div class="col-sm-12">
                        <input type="submit" name="cf-submitted" value="Consultar" class="wpcf7-form-control wpcf7-submit btn btn-lg btn-primary">
                    </div>
                </div>
            </form>';

    if ($_POST) {

        if (empty($_POST['por'])) {
            exit;
        }

        if ($_POST['por'] == 'protocolo') {
            $where = " NUMERO_PROTOCOLO = '" . $_POST['consulta'] . "' ";
        } else {
            $where = " NUMERO_NOTA = '" . $_POST['consulta'] . "' ";
        }

        if (isset($_POST['talao_nota']) && $_POST['talao_nota'] != '') {
            $where .= " AND TALAO_NOTA = '" . $_POST['talao_nota'] . "' ";
        }

        $sql = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}consulta_dado WHERE $where ORDER BY ID DESC LIMIT 1");

        echo '<div class="row">
                <div class="col-sm-12">
                <h4 class="wp-heading-inline">Resultado</h4>
                <p>';
        $total = count($sql);
        if ($total == 1) {
            foreach ($sql as $row) {

                /*
                 * Alterar nome dos serviços
                 */
                $servico = "Não informado";
                if ($row->DESCRICAO_SERVICO != '' || $row->DESCRICAO_SERVICO != null) {
                    if ($row->DESCRICAO_SERVICO == 'CRC') {
                        $servico = "CRC";
                    } else if ($row->DESCRICAO_SERVICO == 'Certidao') {
                        $servico = "Certidão";
                    } else if ($row->DESCRICAO_SERVICO == 'Pessoas Juridicas') {
                        $servico = "Pessoas Jurídicas";
                    } else if ($row->DESCRICAO_SERVICO == 'Titulos e Documento') {
                        $servico = "Títulos e Documento";
                    } else if ($row->DESCRICAO_SERVICO == 'Registro Especial') {
                        $servico = "Registros Especiais (Livro E)";
                    } else if ($row->DESCRICAO_SERVICO == 'Apostilamento') {
                        $servico = "Apostilamento";
                    }
                }

				if ($row->NOME_SOLICITANTE != '' || $row->NOME_SOLICITANTE != null)
                    echo '<b>Solicitante:</b> ' . $row->NOME_SOLICITANTE . '<br>';
                if ($row->DESCRICAO_SERVICO != '' || $row->DESCRICAO_SERVICO != null)
                    echo '<b>Serviço:</b> ' . $servico . '<br>';
                if ($row->NUMERO_NOTA > 0 || $row->NUMERO_NOTA != null)
                    echo '<b>Número da nota de entrega:</b> ' . $row->NUMERO_NOTA . '<br>';
                if ($row->NUMERO_PROTOCOLO > 0 || $row->NUMERO_PROTOCOLO != null)
                    echo '<b>Número do protocolo:</b> ' . $row->NUMERO_PROTOCOLO . '<br>';
				if ($row->DATA_SOLICITACAO != '' || $row->DATA_SOLICITACAO != null)
                    echo '<b>Data da Solicitação:</b> ' . $row->DATA_SOLICITACAO . '<br>';
                if ($row->DESCRICAO_SITUACAO != '' || $row->DESCRICAO_SITUACAO != null)
                    echo '<b>Situação:</b> ' . $row->DESCRICAO_SITUACAO . '<br>';
                if ($row->DATA_SITUACAO != '' || $row->DATA_SITUACAO != null)
                    echo '<b>Data da ultima atualização:</b> ' . $row->DATA_SITUACAO . '<br>';
				if ($row->HORA_SITUACAO != '' || $row->HORA_SITUACAO != null)
                    echo '<b>Horário da ultima atualização:</b> ' . $row->HORA_SITUACAO . '<br>';
            }
        }else {
            echo "Nenhum resultado localizado.";
        }
    }
    echo '</p></div></div>';
    echo '</div>
        </div>';
}

add_shortcode('consulta_lista', 'page_resultado');

Caso saibam aonde estou errando, gostaria que me falassem.

 

Esse é meu primeiro post aqui no fórum, espero que tenha feito certo. Obrigado!

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Tudo bem pessoal?
       
      No código abaixo, estou fazendo uma consulta nas tabelas, banners e banners_referencia
      Meu objetivo é trazer resultados com valores iguais ao nome da cidade declarada na $cidade ou resultados com a referencia Total.
      O problema é que está trazendo todos os resultados. Tenho 10 linhas, 1 com o nome da cidade e duas com o valor Total, então o resultado teria que ser de apenas 3 linhas, mas mostra tudo.
       
      $banner = "SELECT A.*, B.* FROM banners A, banners_referencia B WHERE B.cod_referencia = A.cod_referencia AND A.cidade = '$cidade' OR B.referencia = 'Total' ORDER BY RAND()";
      $banner = mysqli_query($conexao, $banner) or die ("Banner não encontrado");
      while($busca= mysqli_fetch_array($banner)){
          print $busca['cidade'].'<br>';
      };
       
      Alguém consegue me ajudar?
    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.