Jump to content
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!

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By jganjos
      Boa tarde senhores.
      Estou gerando esta array com o PHP
       
      Array ( [header] => Array ( [ico] => fas fa-building [tit] => Empresa [lab] => Cadastro da Empresa ) [forms] => Array ( [RAZAO] => Array ( [tit] => Razão Social ) [NFANTASIA] => Array ( [tit] => Nome Fantasia [lin] => 1 [col] => 10 ) [STATUS] => Array ( [tit] => Status [typ] => switch [val] => 1,0 [lin] => 1 [col] => 2 ) [INSCRICAO] => Array ( [tit] => Inscrição [lin] => 2 [col] => 4 ) [IE] => Array ( [tit] => Insc. Estadual [lin] => 2 [col] => 4 ) [IM] => Array ( [tit] => Insc. Municipal [lin] => 2 [col] => 4 ) [CEP] => Array ( [tit] => CEP [lin] => 3 [col] => 4 [btn] => search ) [TIPO_END] => Array ( [typ] => hidden ) [ENDERECO] => Array ( [tit] => Endereço [lin] => 4 [col] => 9 ) [NUM_END] => Array ( [tit] => Número [lin] => 4 [col] => 3 ) [BAIRRO] => Array ( [tit] => Bairro [lin] => 5 [col] => 6 ) [COMPL] => Array ( [tit] => Complemento [lin] => 5 [col] => 6 ) [MUNICIPIO] => Array ( [tit] => Município [lin] => 6 [col] => 9 ) [UF] => Array ( [tit] => Estado [typ] => list [tab] => estados [lin] => 6 [col] => 3 ) [TEL1] => Array ( [tit] => Telefone [msk] => phone [lin] => 7 [col] => 6 ) [TEL2] => Array ( [tit] => Telefone [msk] => phone [lin] => 7 [col] => 6 ) [EMAIL] => Array ( [tit] => e-mail [typ] => email [lin] => 8 [col] => 6 ) [SITE] => Array ( [tit] => Site da empresa [typ] => website [lin] => 8 [col] => 6 ) ) ) Preciso listar os valores da Array *FORMS* e seus respectivos filhos mas não estou conseguindo utilizando o foreach.
      Alguém teria uma dica?
    • By helkton
      galera preciso criar um array que pegue os itens adicionais de cada ITEM  escolhido...
      vou tentar explicar...
      tenho uma pagina com as categorias do CARDÁPIO
      LANCHES - AÇAI - SALGADOS - PIZZAS
      CADA categoria contem seus devidos itens tipo...
      LANCHES 1-xFrango 2-xSalada 3-xBacon AÇAI 1-Copo 300ml 2-Copo 500ml 3-Copo 700ml até esta funcionando, cada item que o usuário escolher, salvo em uma S_SESSION['itens'] 
      agora vamos supor que, esses itens tenham adicionais, já criei um <?php if(){}?> e ele já faz essa verificação, então se o item LANCHES 1=XFRANGO NÃO conter adicional para ser escolhido ele simplesmente irá ser adicionado no carrinho, AGORA se o item tiver adicional para ser escolhido, irá abrir um MODAL com os adicionais disponíveis para o ITEM
      Agora digamos que o AÇAÍ) 1-COPO 300ML tenha adicional eu abro o meu modal com os seguintes adicionais:
      FRUTAS 1-Morango 1,00 2-Banana 1,00 3-Uva 1,00 COMPLEMENTOS 1-Ninho 1,00 2-Coco Ralado 1,00 3-Castanha 1,00 COBERTURA 1-Chocolate 1,00 2-Leite condensado 1,00 3-Morango 1,00 ADICIONAIS 1-Nutella 1,00 2-Bis 1,00 3-KitKat 1,00 então como pego esses adicionais e salvo em cada ITEM escolhido pelo usuário e se possivel somar esses adicionais que tenha valores também
    • By Rafaellaranjo
      Estou sofrendo a um tempo com consumo alto de CPU em meu servidor na maioria dos casos em virtude do MYSQL, trabalho com PHP e APACHE e MYSQL. Realizei inúmeras tentativas para acabar com o alto consumo porém todas fracassadas. O evento costuma ocorrer sempre nos mesmos horários, parte da manhã por volta de 9:30/11:00 e parte da tarde entre 14:00/16:00. Meu servidor possui hardware suficiente para suportar, porem acredito que esteja mal configurado. Estou encaminhando alguns processos que observo estar executando em excesso obtidos através do ps aux.
      dovecot/pop3-login
      dovecot/imap-login
      dovecot/lmtp -L
      php-fpm: pool app (o que mais aparece)
      Ps: utilizo um servidor CENTOS 7
       
    • By dimoreira
      Boa noite programadores, estou a procura de um profissional que desenvolva um site simples, que tem apenas que me mostrar os resultados em tempo real da pagina de resultados da bet 365. Mas especificamente do futebol virtual. Vou mandar em anexo uma foto pra ter como base.   O modelo mais simples possivel é somente para acompanhar os resultados em tempo real sem ter q esta acessando o site da bet.


×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.