Jump to content
Sapinn

Verificar se o valor de duas tabelas é igual

Recommended Posts

Tô fazendo esse forum pq não achei nada que me ajudasse. Tenho um site em que os professores dão temas para as usuarios produzirem textos, basicamente um site de historias. Preciso que o aluno saiba se ja fez um texto sobre aquele determinado tema. Sendo assim tenho duas tabelas no meu banco usuario que cadastra todos os usarios e historia que tem o tema. Quando o aluno vai enviar a historia automaticamente envia seu email. O que eu realmente quero é comparar se o email existe nas duas tabelas se sim ele retorna já foi feito se não ele retorna Nada feito ainda.

Share this post


Link to post
Share on other sites

Ao menos para mim não ficou claro , você que checar se um aluno já enviou um história ou se o texto da história já foi enviado ?

 

Mostre o modelo (descrição) de suas tabelas.

Share this post


Link to post
Share on other sites

Vou tentar explicar novamente pq realmente não ficou claro.  Quando o aluno envia uma historia com o tema os três porquinhos, por exemplo,  é enviado automaticamente seu email para a tabela historia juntamente com o tema e a historia. Assim quando eu mostrar todos os temas pedidos pelo professor em uma tabela html quero fazer um verificação em php se o aluno logado ja fez uma historia com aquele tema ou não.

 

 Por exemplo:

Temas                                   status

Chapeuzinho Vermelho      Não feita

Cinderela                               Não feita

Os três porquinhos                Feita

Lobisomen                            Não feita

 

O que eu falei acima, o email do aluno logado é verificado se tem uma historia com aquele tema

 

Por exemplo:

Aluno logado: fulano@gmail.com

tabela redacao:

tema                                          historia     email_aluno

Chapeuzinho vermelho          Blá blá blá         sicrano@gmail.com

Cinderela                                  Blá blá blá          beltrano@gmail.com

Os três porquinho                   Blá blá blá          fulano@gmail.com

Lobisomen                               Blá blá blá          alguem@hotmail.com

 

 

Talvez o problema seja minha lógica ou sei lá kkkkkkkkkkkkk

Desde ja agradeço a ajuda.

Share this post


Link to post
Share on other sites

Oi Sapin, usando sua lógica da certo, mas sei lá... Como o Motta disse não ficou muito claro (neste segundo post esclareceu um pouco).

 

Talvez se você criasse uma nova tabela(terceira) relacionando o aluno com o tema criado seria mais fácil fazer um select verificando se ele já enviou o determinado tema.

 

Mas como eu disse, é apenas uma suposição... talvez exista outras alternativas.

 

Abraço.

Share this post


Link to post
Share on other sites

Grosso Modo

Aluno

Cod pk

Nome

...

 

Tema

Cod pk

Nome

Data

...

 

Publicacao

Cod_aluno pk fk(aluno)

Cod_tema pk fk(tema)

Texto

...

 

Os ... indicam demais campos da tabela , não veem ao caso agora.

_______________________________________________________________

Leia sobre chaves primárias e estrangeiras para mais detalhes

https://pt.m.wikipedia.org/wiki/Chave_primária

https://pt.m.wikipedia.org/wiki/Chave_estrangeira

https://dev.mysql.com/doc/refman/8.0/en/primary-key-optimization.html

https://dev.mysql.com/doc/refman/8.0/en/foreign-key-optimization.html

 

 

 

 

Share this post


Link to post
Share on other sites

Muito obrigado pessoal! Encontrei a solução depois de tomar um bom banho e tirar um cochilo kkk. Não sei se está correto mas pelo menos está dando certo.

 

        include '../php/conexao.php';//conexao com o banco
        $sql = mysql_query("select * from temas_historia'");//seleciona todos os temas
        $row = mysql_fetch_assoc($sql);
        if($sql){

$sql = mysql_query("SELECT * FROM historia where email_aluno = '$email' and tema='".$row['nome_tema']."'") or die(mysql_error());
                    if(mysql_num_rows($sql)> 0){
                    ?>
                    <b style="color:green;">Você ja fez uma redação com esse tema</b><br>
                    <?php }else{?>
                    <b style="color:red;">Você ainda não fez</b>
                    <?php }?>
            

}

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 Rafael
      Estou tendo problemas com a leitura de porta serial com PHP, consigo facilmente escrever na mesma, mas sempre que no comando de abertura da porta eu coloco que haverá permissão de leitura o PHP trava e fica carregando infinitamente, e a porta fica bloqueada e só libera quando reiniciado o computador.
       
      Segue o cod:
      exec('MODE COM1:9600,n,8,1'); //seta configuração na porta COM $fp=fopen("COM1","r+b"); if(!$fp) {     echo("Erro ao abrir a porta com1");     exit; } else {         echo("COM1 aberta <br>"); } fwrite($fp,Chr(5));  //escrevendo valor na porta sleep(1); //pausa para retorno dos dados echo (fgets($fp)); fclose($fp); já tentei  colocar:
      fopen("COM1", "r+b");
      fopen("COM1", "r+t");
      fopen("COM1", "r");
      fopen("COM1", "w+");
      fopen("COM1", "r+");
       
      para escrever consigo normal, com o fopen("COM1", "w");.  mas já para ler.....
       
      Notei que na internet tem muito sobre esse problema, inclusive falaram em permissões de usuário, sendo que nos casos em que conseguiram, estavam usando o Linux.
      Eu estou usando o W7 e W10 com PHP 5.2, se for o caso de permissões, como resolvo isso? preciso configurar mais alguma coisa no php.ini?
       
      Também já tentei usar uma classe: phpSerial
       
      Mas retorna o seguinte erro:
      Warning: Reading serial port is not implemented for Windows in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\balanca\php_serial.class.php on line 503
       
       
    • By rogerblower
      Pessoal tenho a seguinte tabela
      id | id_etapa | id_evento | posicao | nome | pontos
      1  |  1             |        2         |   1           | joao      |  10
      2  |  1             |        2         |   2           | pedro    |  9
      3  |  1             |        2         |   3           | maria    |  8
      4  |  1             |       2          |   4           | jose       |  7
      5  |  2             |      2          |   3           | joao       |  8
      6  |  2             |  2              |   1           | pedro    | 10
      7  |  2             |   2             |  2            | maria    |  9
      8  |  2             |  2              |   4          | jose        |  7
       
      O resultado da consulta pretendido é este
      Pos  |  nome |   pontos
      1      |  pedro   | 19
      2      |   joao   | 18
      3      |  maria  |  17
      4      |  jose  |  14
       
      Com esta consulta não ordenando a coluna posicao como esperado, ela repete a posicao e não faz a soma, ex:
       1     joao     10
       1     pedro     10
      $pontuacaoa = $pdo->prepare("SELECT * FROM contador WHERE id_evento = '$id_evento' GROUP BY nome, posicao ORDER BY pontos DESC posicao ASC"); Com esta outra consulta a soma esta correta o agrupamento nome esta correto, não se repetem, mas a coluna posicao fica fora de ordem;
       
      $pontuacaoa = $pdo->prepare("SELECT * FROM contador WHERE id_evento = '$id_evento' GROUP BY nome ORDER BY pontos DESC posicao ASC"); Não estou conseguindo acertar a consulta, alguém me ajuda?
    • By rjlfurtado
      Segue abaixo o exemplo de como seria feito em SQL:
      CREATE TABLE tabela ( campo1 DOUBLE, campo2 DOUBLE, divisao DOUBLE AS (campo1/campo2) ); Agora eu preciso criar uma migração no Laravel 6, segue exemplo abaixo:
      $table->integer('qtd_saida'); $table->decimal('valor_uni', 8, 2); $table->double('valor_total')->as(qtd_saida * valor_uni);  
    • By Marxrj
      Olá a todos!,
      Queria aqui uma dica se alguém sabe como alinhar fotos no centro pelo bootstrap.
      Usando o padrão fotos retratos fica como abaixo
      __________  __________
      __________
       
      Mas eu queria que quando tivesse um número impar, a foto não ficasse alinhada na esquerda e sim centralizada como abaixo
      __________  __________
                __________
       
      Estou usando este padrão abaixo aonde ele alinha duas fotos ao lado, mas quando tem somente um ou em número impar, essa não centraliza e sim fica a esquerda.
      <div class="col-xs-12 col-sm-10 col-lg-6 col-md-3">
    • By JoãoRicardo.Lima
      Olá pessoal blz?.
      Estou com problemas para ler um xml, estou pegando ele com simplexml_load_file(), quando eu dou um vardump ele me mostra todas as propriedades e tals, mas quando eu tento pegar a propriedade(exemplo $xml->emit) ele me retorna null, abaixo está o código.
       
      $arquivo = $_FILES['xml_conta']; $xml = simplexml_load_file($arquivo['tmp_name']); var_dump($xml->ide); Já tentei pegar o arquivo direto do diretório mas da no mesmo. Abaixo o meu var_dump().
       
      object(SimpleXMLElement)#2 (3) { ["@attributes"]=> array(1) { ["versao"]=> string(4) "4.00" } ["NFe"]=> object(SimpleXMLElement)#4 (2) { ["infNFe"]=> object(SimpleXMLElement)#6 (9) { ["@attributes"]=> array(2) { ["versao"]=> string(4) "4.00" ["Id"]=> string(47) "NFe51191203927792000132550010003900572477841258" } ["ide"]=> object(SimpleXMLElement)#8 (22) { ["cUF"]=> string(2) "51" ["cNF"]=> string(8) "47825479" ["natOp"]=> string(33) "Venda Terceiros" ["mod"]=> string(2) "50" ["serie"]=> string(1) "1" ["nNF"]=> string(6) "397894" ["dhEmi"]=> string(25) "2019-12-05T18:35:33-04:00" ["dhSaiEnt"]=> string(25) "2019-12-05T18:35:33-04:00" ["tpNF"]=> string(1) "1" ["idDest"]=> string(1) "1" ["cMunFG"]=> string(7) "51074" ["tpImp"]=> string(1) "3" ["tpEmis"]=> string(1) "2" ["cDV"]=> string(1) "5" ["tpAmb"]=> string(1) "2" ["finNFe"]=> string(1) "2" ["indFinal"]=> string(1) "1" ["indPres"]=> string(1) "1" ["procEmi"]=> string(1) "0" ["verProc"]=> string(7) "3.5.1.2" ["dhCont"]=> string(25) "2019-12-05T15:32:22-04:00" ["xJust"]=> string(23) "sem conexao com o sefaz" }  
×

Important Information

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