Jump to content
josenilson

Validação de dados antes de cadastras

Recommended Posts

Olá Pessoal , 

 

Alguém  pode me ajudar com esse problema.
Tenho uma class controladora que estou gravando os dados no banco de dados , gostaria de fazer uma verificação para não duplicar os dados 
 onde eu faço essa verificação no método onde gravo os dados ?

 

Se possível poderia me dar um exemplo disso,  saliento que estou usando php com orientação a objeto . 

 

abaixo os métodos que estou usando na class uma para armazenar os dados e o outro gravo no banco . 

//Valida e cria os dados para realizar o cadastro
    private function setData() {
        $this->Data = array_map('strip_tags', $this->Data);
        $this->Data = array_map('trim', $this->Data);
        $this->Data['modelo'] = Check::Name($this->Data['modelo']);
        $this->Data['eixo'] = Check::Name($this->Data['eixo']);
        $this->Data['status'] = Check::Name($this->Data['status']);
        $this->Data['pedagio'] = Check::Name($this->Data['pedagio']);
        $this->Data['cavalo'] = Check::Name($this->Data['cavalo']);
        $this->Data['motorista'] = Check::Name($this->Data['motorista']);
        $this->Data['placacr1'] = Check::Name($this->Data['placacr1']);
        $this->Data['placacr2'] = Check::Name($this->Data['placacr2']);
        $this->Data['Filial_Atual'] = Check::Name($this->Data['Filial_Atual']);
        $this->Data['Filial_Destino'] = Check::Name($this->Data['Filial_Destino']);
    }

}


    //Cadastra a jornada no banco!
    private function Create() {

        $Create = new Create;
        $Create->ExeCreate(self::Entity, $this->Data);
        if ($Create->getResult()):
            $this->Result = $Create->getResult();

        endif;
    }

 

Share this post


Link to post
Share on other sites
8 horas atrás, Santos_2015 disse:

Voce quer validar as informações enviadas com as informações do BD?

Sim nesse caso  quero verificar se já existe um registro salvo no banco com a mesma placa do cavalo.

Share this post


Link to post
Share on other sites

Então é só montar um Select fazendo a busca no BD com o critério, se atender o critérios, irá mostrar, registro já existe na base... caso contrário irá inserir o registro, é bom fazer algumas verificações antes de comparar os registros, retirando os espaços(função trim()), verificar se o texto está em maiúsculo (uppercase). 

 

 

Share this post


Link to post
Share on other sites

Você pode colocar o campo, que não pode ser repetido, com um index do tipo unique, para que não permita inserção repetida.

 

Veja o link abaixo:

 

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 Fernando Mello
      Olá pessoal!
       
      Tenho uma loja no Wordpress usando plugin Woocomerce, e gostaria de saber como removo o que está sendo exibido> Mostrando todos os 3 resultados!!!
       
      Segue a imagem para facilitar a observação.
       
      Desde já agradeço.
       
      Fernando

    • By johnklo
      COM BASE NA TABELA HR DO ORACLE
      Preciso criar uma sub-rotina (procedure) que imprima na tela o número de funcionários (employees) agrupados por departamentos (department_id). Deve-se ordenar a saída em ordem decrescente pela quantidade de departamentos. Pode-se utilizar qualquer forma de cursor para imprimir o resultado.
    • By Lucas Pedro Lopes Corrêa
      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!
       
       
       
       
       
       
    • By Jefferson andre
      Bom dia, preciso que´a partir de um banco de dados abra o outro onde a serie precisa ser a mesma,  mas nao estou conseguindo pro falta de conhecimento ainda em php. 
       
      Alguem pode olhar a rotina e me informar o que´esta errado pro favor
       
      O erro ocorre onde esta descrito //pesquisa de atividades
       
      <?php // fazendo uma conexão com o banco de dados include("conexao.php"); //pesquisa $resultado_videos = $arquivo->query("SELECT * FROM videos ORDER BY sequencia"); if (false === $resultado_videos) {     echo mysqli_error(); } echo"<body>   <table width='1199' height='37' border='1'>     <tr>       <td width='900' bgcolor='#99FFCC'><span class='style5'><strong>Materia</strong></span></td>       <td height='99' bgcolor='#99FFCC'><span class='style5'><strong>Sequencia proposta</strong></span></td>       <td width='100' bgcolor='#99FFCC'><strong>Sub conteudo </strong></td>     </tr> <body>"; //pecorrendo os registros da consulta.  while($aux = mysqli_fetch_assoc($resultado_videos)) {      $descricao = $aux["descricao"];     $sequencia = $aux["sequencia"];     $caminho = $aux["caminho"];     $serie_id = $aux["id"];     echo "<tr>               <td>                 {$descricao}             </td>               <td>                 {$sequencia}             </td>              <td>                  <a href='{$caminho}'>Acessar</a>              </td>          </tr>";     //pesquisa de atividades     $resultado_videos_atividades = $arquivo_atividades->query("SELECT * FROM videos_atividades ORDER BY sequencia WHERE serie_id=$serie_id");     $descricao_da_atividade = $aux["descricao"];     $sequenci_da_atividadea = $aux["sequencia"];     $caminho_da_atividade = $aux["caminho"];     echo "<tr>               <td>                 {$descricao_da_atividade}             </td>               <td>                 {$sequencia_da_atividade}             </td>              <td>                  <a href='{$caminho_da_atividade}'>Acessar</a>              </td>          </tr>"; // a partir daqui mostra a lista de exercicios na mesma tabela acima //                 <a href='{$caminho}'>$caminho</a> } echo"</body> </table>"; mysqli_close($arquivo); ?>  
    • By Rafael Freitas
      Fala galera!
      Estou travado em uma parte do projeto que estou fazendo, quem puder me ajudar, desde já agradeço.
      Seguinte,  eu tenho alguns dados gravados em uma tabela no banco. Eu recupero estes dados exibindo em uma tabela o nome do parametro "p_descricao" e um checkbox do lado, segue abaixo:
      <?php $max = 200; if(!$pagina){ $pagina = 1; } $inicio = $pagina -1; $inicio = $inicio * $max; $consulta = ("SELECT * FROM parametros WHERE p_tipo_analise='MICROBIOLOGICA'"); $p_id = $_GET["p_id"]; $query = mysql_query("$consulta LIMIT $inicio,$max"); $todos = mysql_query($consulta); $total = mysql_num_rows($todos); $tp = $total / $max; $regLinha = 4; $i = ceil($max / $regLinha); $j = 1; $z = 0; echo " <table width=100% class='tabela_parametros_itens' border=1><tr> "; while($x = mysql_fetch_array($query)){ echo "<td> <input type='checkbox' name='parametro' value='" .$x[p_descricao]."' checked> " .$x[p_id]." - " .$x[p_descricao]."</td>"; $z++; if($z == $regLinha and $j < $i){ echo "</tr><tr>"; $z = 0; $j++; } if($z == $regLinha and $j == $i){ echo "</tr>"; } } echo "</table>"; Eu coloquei checked para todos estarem marcados, até aí tudo certo. O que acontece é que quando eu cadastro, ele só grava no banco, o último registro, ou então se eu desmarco todos e deixo somente 1 marcado, aí ele grava certo.
       
      O que eu queria era gravar todos os registros que estiverem marcados com a checkbox e não só 1.
       
      Conto com a ajuda de vocês.
       
      Abraço.
×

Important Information

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