[RESOLVIDO] Relação entre duas tabelas no mysql
Bom dia galera!
Tenho um programinha e estou com uma duvida e não to sabendo resolver.
tenho duas tabelas ADMS_USUARIOS e ADMS_FORMULARIOS
ADMS_USUARIOS
id
nome
aps
email
usuario
[...]
ADMS_FORMULARIO
id
nome
mes_ano
O usuário vai preencher um formulários e vai ficar gravado seu nome na tabela adms_formulario, ja na tabela adms_usuario ele vai trazer apenas os registros solicitados a partir de um determinado nome solicitado.
EX:. eu preencho um formulario com o nome joão. Depois ele vai ver se na tabela adms_ususario tem o nome joão e vai me retornar quantas vezes o nome joão foi cadastrado, e vai me retornar apenas os nomes "joão".
$resul_form = "select adms_usuarios.id, adms_usuarios.nome, adms_formulario.id, adms_formulario.nome, adms_formulario.mes_ano from adms_usuarios inner join adms_formulario on adms_usuarios.nome = adms_formulario.nome ";
eu coloquei esse codigo mais ta me retornando todos os nomes cadastrados.
Tenho um programinha e estou com uma duvida e não to sabendo resolver.
tenho duas tabelas ADMS_USUARIOS e ADMS_FORMULARIOS
ADMS_USUARIOS
id
nome
aps
usuario
[...]
ADMS_FORMULARIO
id
nome
mes_ano
O usuário vai preencher um formulários e vai ficar gravado seu nome na tabela adms_formulario, ja na tabela adms_usuario ele vai trazer apenas os registros solicitados a partir de um determinado nome solicitado.
EX:. eu preencho um formulario com o nome joão. Depois ele vai ver se na tabela adms_ususario tem o nome joão e vai me retornar quantas vezes o nome joão foi cadastrado, e vai me retornar apenas os nomes "joão".
$resul_form = "select adms_usuarios.id, adms_usuarios.nome, adms_formulario.id, adms_formulario.nome, adms_formulario.mes_ano from adms_usuarios inner join adms_formulario on adms_usuarios.nome = adms_formulario.nome ";
eu coloquei esse codigo mais ta me retornando todos os nomes cadastrados.
Francisco Nando
Curtidas 0
Melhor post
Ricardo Araujo
01/08/2019
Bom dia, Francisco ,
Já tentou usar Left Join ?
tenta ai e depois post o resultado.
Já tentou usar Left Join ?
tenta ai e depois post o resultado.
GOSTEI 1
Mais Respostas
Jothaz
01/08/2019
select adms_usuarios.id, adms_usuarios.nome, adms_formulario.id, adms_formulario.nome, adms_formulario.mes_ano from adms_usuarios inner join adms_formulario on adms_usuarios.nome = adms_formulario.nome where adms_usuarios.nome = 'joão'
GOSTEI 1
Francisco Nando
01/08/2019
Bom dia, Francisco ,
Já tentou usar Left Join ?
tenta ai e depois post o resultado.
Tentei Ricardo, da a mesma coisa.
Já tentou usar Left Join ?
tenta ai e depois post o resultado.
GOSTEI 0
Francisco Nando
01/08/2019
select adms_usuarios.id, adms_usuarios.nome, adms_formulario.id, adms_formulario.nome, adms_formulario.mes_ano from adms_usuarios inner join adms_formulario on adms_usuarios.nome = adms_formulario.nome where adms_usuarios.nome = 'joão'
GOSTEI 0
Jothaz
01/08/2019
select adms_usuarios.id, adms_usuarios.nome, adms_formulario.id, adms_formulario.nome, adms_formulario.mes_ano from adms_usuarios inner join adms_formulario on adms_usuarios.nome = adms_formulario.nome where adms_usuarios.nome = 'joão'
Concatena a variável clicada no seu select.
Como TAG do post é PHP seque o exemplo abaixo que foi tirado do
https://www.php.net/manual/pt_BR/function.mysql-db-query.php
<?php if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) { echo 'Não foi possível conectar ao mysql'; exit; } if (!mysql_select_db('mysql_dbname', $link)) { echo 'Não foi possível selecionar o banco de dados'; exit; } $sql = 'select adms_usuarios.id, adms_usuarios.nome, adms_formulario.id, adms_formulario.nome, adms_formulario.mes_ano from adms_usuarios inner join adms_formulario on adms_usuarios.nome = adms_formulario.nome where adms_usuarios.nome ' . AQUI_SUA_VARIAVEL_CLICADA ; $result = mysql_query($sql, $link); if (!$result) { echo "Erro do banco de dados, não foi possível consultar o banco de dados\\n"; echo 'Erro MySQL: ' . mysql_error(); exit; } while ($row = mysql_fetch_assoc($result)) { echo $row['foo']; } mysql_free_result($result); ?>
GOSTEI 1
Francisco Nando
01/08/2019
select adms_usuarios.id, adms_usuarios.nome, adms_formulario.id, adms_formulario.nome, adms_formulario.mes_ano from adms_usuarios inner join adms_formulario on adms_usuarios.nome = adms_formulario.nome where adms_usuarios.nome = 'joão'
Concatena a variável clicada no seu select.
Como TAG do post é PHP seque o exemplo abaixo que foi tirado do
https://www.php.net/manual/pt_BR/function.mysql-db-query.php
<?php if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) { echo 'Não foi possível conectar ao mysql'; exit; } if (!mysql_select_db('mysql_dbname', $link)) { echo 'Não foi possível selecionar o banco de dados'; exit; } $sql = 'select adms_usuarios.id, adms_usuarios.nome, adms_formulario.id, adms_formulario.nome, adms_formulario.mes_ano from adms_usuarios inner join adms_formulario on adms_usuarios.nome = adms_formulario.nome where adms_usuarios.nome ' . AQUI_SUA_VARIAVEL_CLICADA ; $result = mysql_query($sql, $link); if (!$result) { echo "Erro do banco de dados, não foi possível consultar o banco de dados\\\\n"; echo 'Erro MySQL: ' . mysql_error(); exit; } while ($row = mysql_fetch_assoc($result)) { echo $row['foo']; } mysql_free_result($result); ?>
<?php
if (!isset($seg)) {
exit;
}
include_once 'app/adms/include/head.php';
?>
<body>
<?php
include_once 'app/adms/include/header.php';
?>
<div class="d-flex">
<?php
include_once 'app/adms/include/menu.php';
?>
<div class="content p-1">
<div class="list-group-item">
<div class="d-flex">
<div class="mr-auto p-2">
<h2 class="display-4 titulo">Relatório Individual</h2>
</div>
<div class="p-2">
<?php
$btn_cad = carregar_btn('visualizar/home', $conn);
if ($btn_cad) {;
echo "<a href='" . pg . "/visualizar/home' class='btn btn-outline-success btn-sm'><i class='fas fa-align-justify'></i> Inicio </a>";
}
?>
 
<?php
$btn_cad = carregar_btn('listar/list_formulario', $conn);
if ($btn_cad) {
echo "<a href='" . pg . "/listar/list_formulario' class='btn btn-outline-warning btn-sm'><i class='fas fa-reply'></i> Voltar</a>";
}
?>
</div>
</div>
<?php
if (isset($_SESSION['msg'])) {
echo $_SESSION['msg'];
unset($_SESSION['msg']);
}
//Receber o número da página
$pagina_atual = filter_input(INPUT_GET, 'pagina', FILTER_SANITIZE_NUMBER_INT);
$pagina = (!empty($pagina_atual)) ? $pagina_atual :1;
//Setar a quantidade de itens por pagina
$qnt_result_pg = 60;
//Calcular o inicio visualização
$inicio = ($qnt_result_pg * $pagina) - $qnt_result_pg;
if(($_SESSION['adms_niveis_acesso_id'] == 1) or ($_SESSION['adms_niveis_acesso_id'] == 2) or ($_SESSION['adms_niveis_acesso_id'] == 3)) {
$resul_form = "select adms_usuarios.nome, adms_formulario.id, adms_formulario.nome, adms_formulario.mes_ano
from adms_usuarios
Left Join adms_formulario on adms_usuarios.nome = adms_formulario.nome where adms_usuarios.nome ' . ";
//$resul_form = "select adms_formulario.id, adms_formulario.nome, adms_formulario.mes_ano
//from adms_formulario";
//$resul_form = "SELECT fo.id, fo.nome, fo.mes_ano
//FROM adms_formulario fo
//ORDER BY mes_ano ASC LIMIT $inicio, $qnt_result_pg";
}
$resultado_form = mysqli_query($conn, $resul_form);
if (($resultado_form) AND ( $resultado_form->num_rows != 0)) {
?>
<div class="table-responsive">
<table class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th>Nome</th>
<th class="d-none d-sm-table-cell"><center>Competência</center></th>
<th class="text-center">Ações</th>
</tr>
</thead>
uma parte do codigo ai.
GOSTEI 0