Ir para conteúdo

Arquivado

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

Cleudiney T Brandão

Exibir Conteudo da Chave Estrangeira FK em celula da Tabela HTML

Recommended Posts

Pessoal saudações, preciso da ajuda de vocês tenho uma pagina a qual preciso exibir uma tabela em HTML contendo os Horarios, Pacientes ... que vem de uma table de meu banco mysql.

Acontece que consigo formar a tabela, ajustar a data para a data atual, exibir linha a linha.

Porém nos campos onde deveria aparecer o nome do paciente aparece o Numero de sua FK ( Chave estrangeira ), já tentei com inner join de diversas formas e não acerto, alguém me ajudaria?

.

As minhas tabelas as quais busco os dados são: " pacientes" e "agenda" o campo de pacientes é nome  e o de agenda é codigo_paciente o banco se chama gerenciador.

Eu preciso que nas celulas onde está   " $info[codigo_paciente] " apareça o nome do paciente . Caso eu resolva com o nome os outros dados eu consigo fazer pois são da mesma tabela.

O codigo é o seguinte:

 

ml>
<head>
<?php
include("conexao.php");
date_default_timezone_set('America/Sao_Paulo');
$date = date('Y-m-d');
?>
<title>Clinica </title>
</head>
<body>
<table>
<H1 ALIGN="center"><FONT FACE="Arial" SIZE="10" COLOR="black">Clinica</FONT></H1>
<H2 ALIGN="center"><FONT FACE="Arial" SIZE="5" COLOR="black">  Hoje - <?php date_default_timezone_set('America/Sao_Paulo'); $datee = date('d/m/Y H:i'); echo $datee;?> </FONT></H2>

 

</table>

<?php
include("conexao.php");
$query = "select * from agenda WHERE Data BETWEEN ('$date') AND ('$date');";
$resultado = mysql_query($query,$conexao) or die(mysql_error());
$idpac = isset($_GET["idpac"]) && ctype_digit($_GET['idpac']);


if(mysql_num_rows($resultado)>0)
{
      print "<table border='3' ALIGN='center'><FONT FACE='Arial' SIZE='10' COLOR='black'>";
      print "<tr colspan='10' rowspan='10'><td id='celula0'>Hora</td><td id='celula1'>Paciente</td><td id='celula2'>Presente?</td><td id='celula3'>P.Saude</td><td id='celula4'>Tel</td><td id='celula2'>Histórico</td></tr>";
          while ($info = mysql_fetch_array($resultado))
              {
         print "<tr colspan='10' rowspan='10'><td id='celula0'>$info[hora]</td> <td id='celula1'>$info[codigo_paciente]</td><td id='celula2'>$info[faltou]</td><td id='celula3'>$info[codigo_paciente]</td><td id='celula4'>$info[codigo_paciente]</td><td id='celula4'>$info[codigo_paciente]</td></tr>";
       }
      print "</table>";
 }
?>

</body>
</html>
 

 

dando certo 5 - apagar.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

a logica do INNER JOIN (e outros JOINS) é mais ou menos assim

 

"SELECT * FROM tbArt INNER JOIN tbUser ON(tbArt.id_user=tbUser.id)"

 

tenta adaptar aí

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu deu certo aqui.

$query = "SELECT nome, celular, profissao, cpf, rg,hora,faltou,codigo_convenio FROM pacientes INNER JOIN agenda ON agenda.codigo_paciente=pacientes.codigo WHERE (DATA = DATE_FORMAT(NOW(), '%Y-%m-%d'));";  
$resultado = mysql_query($query,$conexao) or die(mysql_error());  

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por andreygsantos
      Pessoal, normalmente faço modelagem de banco de dados usando o CA ErWin, mas precisei utilizar a ferramenta de modelagem do MySQL Workbench 8.0 Community.
      O problema ocorre quando a ferramenta começa a "enfeitar o pavão" quando se trata de FK. Vou mostrar um exemplo básico:

      Temos aqui 3 tabelas representando condomínio, unidades e vagas. As vagas pertencem ao condomínio, assim como as unidades. As vagas podem pertencer a unidades diferentes no decorrer do tempo porque não são vagas fixas, portanto não posso pendurar vaga na unidade.
      Problema 1: FK recebe o nome da tabela origem automaticamente.
      Até aqui posso renomear o atributo ou alterar as configurações de modelagem.
       

      Atributos renomeados, temos o seguinte modelo representado acima. Agora vamos levar a PK da entidade UNIDADE para ser FK não identificação na entidade VAGA.
       

      E agora temos o Problema 2: a ferramenta não entende que o atributo CondomínioID já existe e cria novamente com o prefixo da entidade origem. Parece um problema besta e fácil de resolver apagando o atributo duplicado e mantendo apenas UnidadeID, mas ao sincronizar com o banco de dados, começam a surgir erros com índices.
      Abaixo mostro como fica a modelagem no ERWin sem qualquer interferência:
       

      Como podem ver, a modelagem fica perfeita. O ErWin entende que o atributo já existe na entidade e leva apenas o atributo que vai diferenciar para fazer o relacionamento.
       
      Vocês devem estar se perguntando por que eu não uso o ErWin então... Mas a versão do ErWin que tenho não suporta MySQL após a versão 5.x e uma licença nova dessa ferramenta vai me custar 1 rim, senão os 2... Teoricamente, o Workbench deveria fazer essa modelagem sem problemas, mas eu não conheço bem e talvez possa ser alguma configuração. Alguém teria uma luz?
      Obrigado.
       
    • Por phfmiranda
      Bom dia,
       
      Tenho um BD com 3 tabelas
       
      tb_cliente - Chave primaria id_cliente
      tb_dados - chave estrangeira id_cliente
      tb_crediario - chave estrangeira id_cliente
       
      O que acontece é que como já temos dados nas mesmas não estou conseguindo criar a chave estrangeira abaixo, tem alguma ideia de como criar a mesma sem alterar os dados??
       
      ALTER TABLE `tb_dados` ADD FOREIGN KEY (`id_cliente`) REFERENCES `tb_cliente`(`id_cliente`) ON DELETE CASCADE  
      Obrigado.
    • Por Matheus Bispo
      Boa noite galera, estou com uma dúvida.
       
      Tenho uma tabela chamada Usuários, onde lá possuo ID, NOME, EMAIL e SENHA.
       
      Estou desenvolvendo um sistema de relatório de logs, e na minha tabela logs, eu tenho o log_usuario e log_afetado, AMBOS REFERENCIAM o ID da tabela Usuários.
       
      A minha dúvida é... Como eu posso trazer os NOMES desses, no select?
       
      O que eu estou fazendo é esse daqui:
       
      $this->Select = "SELECT log.log_id as id, log.log_ip, log.log_usuario, log.log_afetado, log.log_acao, log.log_tempo, log1.usu_nome as dono_nome, log2.usu_nome as afetado_nome FROM logs log    LEFT OUTER JOIN
                  usuarios as log1 ON log_usuario = log1.usu_id LEFT OUTER JOIN
                  usuarios as log2 ON log_afetado = log2.usu_id WHERE
                  log.log_usuario = :log_usuario";
       
      Mas não estou conseguindo trazer os nomes, utilizando um var_dump(), tráz apenas os IDs. O que eu estaria fazendo de errado?
    • Por Hamilcar
      Bom dia a todos!
      Estou tentando fazer uma base de dados onde tenho 3 tabelas, usuario, requerimento e escala. Onde um usuario faz um requerimento e deste requerimento geraria uma escala.
      Gostaria de preparar a base de dados para que quando cadastrar um requerimento, esse requerimento só seja incluído se houver um usuario ligado a este requerimento, e quando cadastrar uma escala, esta seja ligada ao requerimento que a gerou, e quando for editar ou excluir, não exclua um requerimento sem excluir a escala.
      Tentei aqui um modelo com chave estrangeira, mas quando incluo um requerimento que não esteja vinculado a um usuario, dá um "warning" e inclue assim mesmo, e para excluir também faz da mesma forma. abaixo as tabelas.
       
      CREATE TABLE `usuario` (
        `nome_usuario` varchar(100) DEFAULT NULL,
        `id_usuario` int(11) NOT NULL,
        `telefone_usuario` varchar(20) DEFAULT NULL,
        `data_cadastro_usuario` datetime DEFAULT NULL,
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
       
      CREATE TABLE `requerimento` (
        `id_requerimento` int(11) NOT NULL,
        `data_requerimento` datetime NOT NULL,
        `status_requerimento` enum('0','1') NOT NULL DEFAULT '0',
        `id_usuario` int(11) NOT NULL
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
       
      CREATE TABLE `escala` (
        `id_escala` int(11) NOT NULL,
        `local_escala` varchar(100) NOT NULL,
        `horário_escala` varchar(100) NOT NULL,
        `data_escala` date NOT NULL,
        `id_requerimento` int(11) NOT NULL
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
       
      --
      -- Índices para tabela `escala`
      --
      ALTER TABLE `escala`
        ADD PRIMARY KEY (`id_escala`),
        ADD KEY `fk_requerimento_escala` (`id_requerimento`);
      --
      -- Índices para tabela `requerimento`
      --
      ALTER TABLE `requerimento`
        ADD PRIMARY KEY (`id_requerimento`),
        ADD KEY `fk_usuario_requerimento` (`id_usuario`);
      --
      -- Índices para tabela `usuarios`
      --
      ALTER TABLE `usuario`
        ADD PRIMARY KEY (`id_usuario`);
      COMMIT;
×

Informação importante

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