Ir para conteúdo
Fórum Script Brasil
  • 0

Como evitar registros duplicados


MARIO HENRIQUE DE FREITAS

Pergunta

Bom galera eu estou tentando criar um sistema pra colocar num site que estou fazendo ele funciona assim:

Nome do médico

Crm

Especialidade

Estes são os campos do formulário eu queria saber como eu faço pra não registrar o mesmo médico duas vezes ou seja o nome e o crm serem conferido pra ver se já não estão cadastrados no site.

Meu código de envio do formulário é o seguinte:

<?php


include("connect.php");
$nome_medico = $_POST['nome_medico'];
$numero_crm = $_POST['numero_crm'];
$especialidade = $_POST['especialidade'];

$query = "INSERT INTO corpo_clinico (id, nome_medico, numero_crm, especialidade)
VALUES ('', '$nome_medico', '$numero_crm', '$especialidade')";
$results = mysql_query($query);

if ($results)
{

}
mysql_close();
?>

Será que alguém pode me ajuar por favor?

Editado por quintelab
Removido Caixa Alta e Adicionado BBCode Code
Link para o comentário
Compartilhar em outros sites

21 respostass a esta questão

Posts Recomendados

  • 0

Prezado Mauricio,

obrigado pela ajuda.

então ficaria assim:

<?php

include("connect.php");

$nome_medico = $_POST['nome_medico'];

$numero_crm = $_POST['numero_crm'];

$especialidade = $_POST['especialidade'];

$query = "INSERT INTO corpo_clinico (id, nome_medico, numero_crm, especialidade)

VALUES ('', '$nome_medico', '$numero_crm', '$especialidade')";

$results = mysql_query($query);

if ($results)

{

$buscar = mysql_query("select * from corpo_clinico where nome_medico = $nome_medico and numero_crm = $numero_crm");

$total = mysql_num_rows($buscar);

if ($total == 1) {

echo "já existe";

} else {

echo "não existe";

}

verifica ai se da certo xD

Link para o comentário
Compartilhar em outros sites

  • 0

TENTEI MAIS DEU O SEGUINTE ERRO

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/aepit/public_html/sistema/added_corpo_clinico.php on line 100

não existe

Prezado Mauricio,

obrigado pela ajuda.

então ficaria assim:

<?php

include("connect.php");

$nome_medico = $_POST['nome_medico'];

$numero_crm = $_POST['numero_crm'];

$especialidade = $_POST['especialidade'];

$query = "INSERT INTO corpo_clinico (id, nome_medico, numero_crm, especialidade)

VALUES ('', '$nome_medico', '$numero_crm', '$especialidade')";

$results = mysql_query($query);

if ($results)

{

$buscar = mysql_query("select * from corpo_clinico where nome_medico = $nome_medico and numero_crm = $numero_crm");

$total = mysql_num_rows($buscar);

if ($total == 1) {

echo "já existe";

} else {

echo "não existe";

}

verifica ai se da certo xD

}

mysql_close();

?>

ou fica antes de enviar os dados pro servidor?

usando mysql_num_rows..

por exemplo:

$buscar = mysql_query("select * from tabela where campo1 = $post1 and campo2 = $post2");

$total = mysql_num_rows($buscar);

if ($total == 1) {

echo "já existe";

} else {

echo "não existe";

}

verifica ai se da certo xD

Link para o comentário
Compartilhar em outros sites

  • 0

Use isso, coloquei aspas simples nas variaveis, deixar sem pode ocasionar erro. Mas mesmo assim, se ocorrer erro, agora vai ser especificado, poste o erro aqui, para podermos analisar.

$buscar = mysql_query("select * from corpo_clinico where nome_medico = '$nome_medico' and numero_crm = '$numero_crm'") or die(mysql_error());

Link para o comentário
Compartilhar em outros sites

  • 0

Cara Obrigado pela ajuda,

Mas coloquei igual você falou e não deu certo e também não deu erro.

será estou colocando o código no lugar errado.

esse código deve ser inserido no arquivo que manda os dados pro servidor né!

Use isso, coloquei aspas simples nas variaveis, deixar sem pode ocasionar erro. Mas mesmo assim, se ocorrer erro, agora vai ser especificado, poste o erro aqui, para podermos analisar.

$buscar = mysql_query("select * from corpo_clinico where nome_medico = '$nome_medico' and numero_crm = '$numero_crm'") or die(mysql_error());

Link para o comentário
Compartilhar em outros sites

  • 0

Não testei mas acho que resolve

<?php


include("connect.php");
$nome_medico = $_POST['nome_medico'];
$numero_crm = $_POST['numero_crm'];
$especialidade = $_POST['especialidade'];


$consulta = mysql_query("select * from atendimento where $nome_medico=$nome_medico order by id"  );
$Registro=mysql_num_rows($consulta);
    if($registro>0)
    {

        echo '<script language="javascript">alert("Ops! Medico já cadastrado")</script>';

    }
    else
    {

        $query = "INSERT INTO corpo_clinico (id, $nome_medico, numero_crm, especialidade)
        VALUES ('', '$nome_medico', '$numero_crm', '$especialidade')";
        $results = mysql_query($query);

        if ($results)
        {
            echo '<script language="javascript">alert("Ops! Medico cadastrado")</script>';
        }
        else
        {
            echo '<script language="javascript">alert("Ops! Erro ao cadastrar o Médico. veja a sintax")</script>';

        }
    

    }
mysql_close();
?>

Editado por DiegoCipriano
Link para o comentário
Compartilhar em outros sites

  • 0

Prezado Diego obrigado,

mas testei e deu o seguinte erro

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/aepit/public_html/sistema/added_corpo_clinico.php on line 94

Por favor você pode me ajudar

Não testei mas acho que resolve

<?php


include("connect.php");
$nome_medico = $_POST['nome_medico'];
$numero_crm = $_POST['numero_crm'];
$especialidade = $_POST['especialidade'];


$consulta = mysql_query("select * from atendimento where $nome_medico=$nome_medico order by id"  );
$Registro=mysql_num_rows($consulta);
    if($registro>0)
    {

        echo '&lt;script language="javascript">alert("Ops! Medico já cadastrado")</script>';

    }
    else
    {

        $query = "INSERT INTO corpo_clinico (id, $nome_medico, numero_crm, especialidade)
        VALUES ('', '$nome_medico', '$numero_crm', '$especialidade')";
        $results = mysql_query($query);

        if ($results)
        {
            echo '&lt;script language="javascript">alert("Ops! Medico cadastrado")</script>';
        }
        else
        {
            echo '&lt;script language="javascript">alert("Ops! Erro ao cadastrar o Médico. veja a sintax")</script>';

        }
    

    }
mysql_close();
?>

Link para o comentário
Compartilhar em outros sites

  • 0

é eu vi que estava atendimento na busca mas mudei pro nome da tabela é mesmo assim deu erro

$consulta = mysql_query("select * from atendimento where nome_medico='$nome_medico' order by id"  );

Se não der certo, verifique sua base de dados e veja se o nome dos campos estão corretos.

Link para o comentário
Compartilhar em outros sites

  • 0
é eu vi que estava atendimento na busca mas mudei pro nome da tabela é mesmo assim deu erro

$consulta = mysql_query("select * from atendimento where nome_medico='$nome_medico' order by id"  );

Se não der certo, verifique sua base de dados e veja se o nome dos campos estão corretos.

$consulta = mysql_query("select * from corpo_clinico where nome_medico='$nome_medico' order by id" );

onde tem negrito sofreu ateração não foi somente no nome da tabela não eu tinha colocado duas variaveis para se comprar agg ele vai existe algum nome_medico = o da variavel

Editado por DiegoCipriano
Link para o comentário
Compartilhar em outros sites

  • 0

tenta assim

<?php


include("connect.php");
$nome_medico = $_POST['nome_medico'];
$numero_crm = $_POST['numero_crm'];
$especialidade = $_POST['especialidade'];


$consulta = mysql_query("select * from atendimento where $nome_medico=$nome_medico order by id"  );
$Registro=mysql_num_rows($consulta);
    if($registro>0)
    {

        echo '&lt;script language="javascript">alert("Ops! Medico já cadastrado");</script>';

    }
    else
    {

        $query = "INSERT INTO corpo_clinico (id, $nome_medico, numero_crm, especialidade)
        VALUES ('', '$nome_medico', '$numero_crm', '$especialidade')";
        $results = mysql_query($query);

        if ($results)
        {
            echo '&lt;script language="javascript">alert("Medico cadastrado");</script>';
        }
        else
        {
            echo '&lt;script language="javascript">alert("Ops! Erro ao cadastrar o Médico. veja a sintax");</script>';

        }
    

    }
mysql_close();
?>

Editado por DiegoCipriano
Link para o comentário
Compartilhar em outros sites

  • 0

mesmo eu colocando conforme você mandou da o seguinte erro

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/aepit/public_html/sistema/added_corpo_clinico.php on line 94

<script language="javascript">alert("Medico cadastrado");

e ele faz o cadastro normal e duplicado se caso eu repetir o mesmo nome

tenta assim

<?php


include("connect.php");
$nome_medico = $_POST['nome_medico'];
$numero_crm = $_POST['numero_crm'];
$especialidade = $_POST['especialidade'];


$consulta = mysql_query("select * from atendimento where $nome_medico=$nome_medico order by id"  );
$Registro=mysql_num_rows($consulta);
    if($registro>0)
    {

        echo '&lt;script language="javascript">alert("Ops! Medico já cadastrado");</script>';

    }
    else
    {

        $query = "INSERT INTO corpo_clinico (id, $nome_medico, numero_crm, especialidade)
        VALUES ('', '$nome_medico', '$numero_crm', '$especialidade')";
        $results = mysql_query($query);

        if ($results)
        {
            echo '&lt;script language="javascript">alert("Medico cadastrado");</script>';
        }
        else
        {
            echo '&lt;script language="javascript">alert("Ops! Erro ao cadastrar o Médico. veja a sintax");</script>';

        }
    

    }
mysql_close();
?>

Link para o comentário
Compartilhar em outros sites

  • 0
mesmo eu colocando conforme você mandou da o seguinte erro

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/aepit/public_html/sistema/added_corpo_clinico.php on line 94

&lt;script language="javascript">alert("Medico cadastrado");

e ele faz o cadastro normal e duplicado se caso eu repetir o mesmo nome

tenta assim

<?php


include("connect.php");
$nome_medico = $_POST['nome_medico'];
$numero_crm = $_POST['numero_crm'];
$especialidade = $_POST['especialidade'];


$consulta = mysql_query("select * from atendimento where $nome_medico=$nome_medico order by id"  );
$Registro=mysql_num_rows($consulta);
    if($registro>0)
    {

        echo '&lt;script language="javascript">alert("Ops! Medico já cadastrado");</script>';

    }
    else
    {

        $query = "INSERT INTO corpo_clinico (id, $nome_medico, numero_crm, especialidade)
        VALUES ('', '$nome_medico', '$numero_crm', '$especialidade')";
        $results = mysql_query($query);

        if ($results)
        {
            echo '&lt;script language="javascript">alert("Medico cadastrado");</script>';
        }
        else
        {
            echo '&lt;script language="javascript">alert("Ops! Erro ao cadastrar o Médico. veja a sintax");</script>';

        }
    

    }
mysql_close();
?>

troca isso $nome_medico=$nome_medico por nome_medico=$nome_medico

se não der faz assim

troca isso $nome_medico=$nome_medico por nome_medico='$nome_medico'

+ uma coisa verifica se ta ficando <script> porque se tiver assim &lt; ta errado você ta copiando isso no designer e tem que colocar direto no codigo abre o arquivo no bloco de notas e verifica como que ta ecrito la

Editado por DiegoCipriano
Link para o comentário
Compartilhar em outros sites

  • 0

Cara muito obrigado deu certinho.

Mas posso pedir algo mais.

olha só na verdade eu tenho que verificar dois campos o nome do médico e o crm dele, eu tentei colocar mais deu erro, outra coisa no javascript ao invés de aparecer a caixa de texto tem como direcionar para uma pagina onde tenha médico já cadastrado, ou medico incluido com sucesso algo.

mas de ante mão você me ajudou muito.

obrigado

mesmo eu colocando conforme você mandou da o seguinte erro

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/aepit/public_html/sistema/added_corpo_clinico.php on line 94

&lt;script language="javascript">alert("Medico cadastrado");

e ele faz o cadastro normal e duplicado se caso eu repetir o mesmo nome

tenta assim

<?php


include("connect.php");
$nome_medico = $_POST['nome_medico'];
$numero_crm = $_POST['numero_crm'];
$especialidade = $_POST['especialidade'];


$consulta = mysql_query("select * from atendimento where $nome_medico=$nome_medico order by id"  );
$Registro=mysql_num_rows($consulta);
    if($registro>0)
    {

        echo '&lt;script language="javascript">alert("Ops! Medico já cadastrado");</script>';

    }
    else
    {

        $query = "INSERT INTO corpo_clinico (id, $nome_medico, numero_crm, especialidade)
        VALUES ('', '$nome_medico', '$numero_crm', '$especialidade')";
        $results = mysql_query($query);

        if ($results)
        {
            echo '&lt;script language="javascript">alert("Medico cadastrado");</script>';
        }
        else
        {
            echo '&lt;script language="javascript">alert("Ops! Erro ao cadastrar o Médico. veja a sintax");</script>';

        }
    

    }
mysql_close();
?>

troca isso $nome_medico=$nome_medico por nome_medico=$nome_medico

se não der faz assim

troca isso $nome_medico=$nome_medico por nome_medico='$nome_medico'

+ uma coisa verifica se ta ficando &lt;script> porque se tiver assim &lt; ta errado você ta copiando isso no designer e tem que colocar direto no codigo abre o arquivo no bloco de notas e verifica como que ta ecrito la

Link para o comentário
Compartilhar em outros sites

  • 0

pra resolver o problema do CRM

é so trocar

isso

$consulta = mysql_query("select * from atendimento where $nome_medico=$nome_medico order by id"  );
por isso
$consulta = mysql_query("select * from atendimento where nome_medico='$nome_medico' or numero_crm='$numero_crm' order by id"  );
agora pra ir para "página" eu não entendi muito bem mas podemos fazer assim... para mostrar o cadastro do médico testa ai qual quer coisa posta o erro ai
if($registro>0)
    {

        echo '<script language="javascript">alert("Ops! Medico já cadastrado");</script>';
        $sql = mysql_query("select id, nome_medico, numero_crm, especialidade  from atendimento where nome_medico='$nome_medico' or numero_crm='$numero_crm' order by id"  );
        $Registro=mysql_num_rows($sql);
        $i=0;
        echo '<table border="0" width="100%">';
        echo '<tr><td width = 30 bgcolor="#ffffc0">ID</td>';
        echo '<td  bgcolor="#ffffc0">Nome Medico</td>';
        echo '<td bgcolor="#ffffc0">N CRM</td>';
        echo '<td bgcolor="#ffffc0">especialidade</td>';
                    for ($i==0; $i<$Quantos; $i++)
                    {
                            echo '<tr><td>';
                            echo '<span style="font-size:8.0pt;font-family:Verdana;color:#000080">';
                            echo mysql_result($sql,$i,"id");
                            echo'</td><td>';
                            echo mysql_result($sql,$i,"nome_medico");
                            echo '</td><td>';
                            echo mysql_result($sql,$i,"numero_crm");
                            echo '</td><td>';
                            echo mysql_result($sql,$i,"especialidade");
                            echo '</td></tr>';
                    }
        echo '</table>';
}

Editado por DiegoCipriano
Link para o comentário
Compartilhar em outros sites

  • 0

boa noite a todos!

alguém poderia me ajudar por favor, não estou conseguindo executar a validação de cadastro do meu código. Pois quando executo aparece as seguintes msg de erro:

(Conexão efetuada com sucesso!
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\site3\Vendas_new\inserir_cliente.php on line 14

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\site3\Vendas_new\inserir_cliente.php on line 15

Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\site3\Vendas_new\inserir_cliente.php on line 28
<script language="javascript"> alert("Ops! Erro ao cadastrar o Médico. veja a sintax");

)

 

<?php include "index2.php"; ?>
<?php
    include "conexao.php";

    $NOME = $_REQUEST['txtnome'];
    $TELEFONE = $_REQUEST['txttelefone'];
    $EMAIL = $_REQUEST['txtemail'];
    $CPF = $_REQUEST['txtcpf'];
    $ENDERECO = $_REQUEST['txtendereco'];
    $CIDADE = $_REQUEST['txtcidade'];
    $NACIONALIDADE = $_REQUEST['txtnacionalidade'];
    
    
    $consulta = mysqli_query("SELECT * FROM cliente WHERE CPF = $CPF");
    $VERIFICARSQL = mysqli_num_rows($consulta);
    
    if ($VERIFICARSQL >0){
        echo '&lt;script language="javascript">
        alert("Ops! Cliente já cadastrado");</script>';
    }
    else{
        
    $insereDados = mysqli_query($conn, "INSERT INTO cliente (
    NOME, TELEFONE,EMAIL, CPF, ENDERECO, CIDADE, NACIONALIDADE ) 
    VALUES ('$NOME', '$TELEFONE', '$EMAIL', '$CPF', '$ENDERECO',
    '$CIDADE', '$NACIONALIDADE')") or die (mysql_error());
    
    $RESULT = mysqli_query($insereDados);
    
    if ($RESULT){
         
         echo '&lt;script language="javascript">
         alert("Medico cadastrado");</script>';
        }
    else{
        
         echo '&lt;script language="javascript">
         alert("Ops! Erro ao cadastrar o Médico. veja a sintax");</script>';
        }
    }

Link para o comentário
Compartilhar em outros sites

  • 0
<?php
require("connect.php");
?>

<?php if(isset($_POST['submit'])) { ?>
<?php
$nome_medico = $_POST['nome_medico'];
$numero_crm = $_POST['numero_crm'];
$especialidade = $_POST['especialidade'];

$consulta = "select * from atendimento where nome_medico LIKE '$nome_medico' OR numero_crm LIKE '$numero_crm'";
$resultado_consulta = mysqli_query($conn, $consulta);
$num_rows = mysqli_num_rows($resultado_consulta);
    if($num_rows > 0)
    {
        echo "Ops! $nome_medico já cadastrado";

    }
    else
    {

        $query = "insert into atendimento (nome_medico, numero_crm, especialidade)
        values ('$nome_medico', '$numero_crm', '$especialidade')";
        $results = mysqli_query($conn,$query);

        if($results)
        {
            echo 'cliente cadastrado com sucesso';
        }
        else
        {
            echo 'erro';

        }
    

    }
mysqli_close();
?>
<?php } else { ?>

<form action="linka_pra_esta_mesma_pagina.php" method="post">
  
      <div class="row">
      <div class="col"><input class="form-control" type="text"  name="nome_medico" id="nome_medico" placeholder="Nome" required></div>
      </div>

      <div class="row">
      <div class="col"><input class="form-control" type="text"  name="numero_crm" id="numero_crm" placeholder="CRM"></div>		
      </div>
	
      <div class="row">
      <div class="col"><input class="form-control" type="text"  name="especialidade" id="especialidade" placeholder="Especialidade"></div>
      </div>
  
      <div class="col form-group">
      <button class="btn btn-primary" name="submit" type="submit">Cadastrar</button>
      </div>	
</form>

<?php } ?>

 

Editado por Fabiano Moreau
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...