Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
galela urgente sou novo em php e ainda nao entendo o inno join alguem poderia me ajudar a montar esse codigo entre as tabelas
tb_sermao
idsermao = 1
titulo = Jesus
sermao= Jesus
tb_igreja
idigreja= 1
cidade=Natal
bairro = Ribeira
igreja= assembleia
tb_controle
idcontrole =1
idigreja=1
idsermao=1
como fazer a ligação de tb_sermao e tb_igreja a td_contole
vlw desde já !
Bom dia Weidson você pode fazer assim:
select * from tb_controle c
inner join tb_igreja i on i.idigreja = c.igreja
inner join tb_sermao s on s.idsermao = c.idsermao
se tiver alguma condição ex so as igrejas que forem da cidade de Natal dai você precisa por um where:
select * from tb_controle c
inner join tb_igreja i on i.idigreja = c.igreja
inner join tb_sermao s on s.idsermao = c.idsermao
where i.cidade='Natal'
agora se não tiver nenhum tipo de condição pode tentar assim também.
select * from tb_controle, tb_igreja, tb_sermao
e se tiver condição depois e so colocar nome da tabela.cidade='Natal'
espero ajudar
ainda tenho uma duvida no whiler como fica o echo ?
<table width="770" border="0" align="center">
<form name="form1" method="post" action="">
<tr>
<td>DATA</td>
<td>SERMÃO</td>
<td>IGREJA</td>
<td>ATUALIZAR</td>
<td>EXCLUIR</td>
<td>VISUALIZAR</td>
</tr>
<?php $sql=mysql_query("select * from tb_controle c
inner join tb_igreja i on i.idigreja = c.igreja
inner join tb_sermao s on s.idsermao = c.idsermao");
while($linha = mysql_fetch_array($sql)){
?>
<tr>
<td> <?php echo $linha['data'] ?></td>
<!-- Data vem da tb_controle-->
<td> <?php echo $linha['titulo'] ?></td>
<!-- titulo vem da tb_sermao e usa o idsermao da tb_controle-->
<td> <?php echo $linha['igreja'] ?></td>
<!-- igreja vem da tb_igreja e usa o idigreja na tb_controle-->
<td><a href="ed_controle.php?id=<?php echo $linha['idcontrole']; ?>">Editar</a></td>
<td><a href ="fun_exc_controle.php?id=<?php echo $linha['idcontrole']; ?>" >Excluir</a></td>
<td><a href="ver_controle.php?id=<?php echo $linha['idcontrole']; ?>">Visualizar</a></td>
</tr>
</form>
<? } ?>
</table>Bom no caso o echo fica normal $linha['seu_campo'] o unico problema que você pode ter é se duas tabelas tiverem campos com o mesmo nome.
Solução para o problema.
select c.data as data_controle, s.data as data_sermao from tb_controle c
inner join tb_igreja i on i.idigreja = c.igreja
inner join tb_sermao s on s.idsermao = c.idsermao
No exemplo acima duas das tabelas tem um campo chamado o que eu fiz foi atuibuir um novo nome para estes elementos, existe uma outra solução que seria chamar o elemento pelo numero de seu indice o que pode ser confuso quando se trabalha com uma quantidade de registro grande.
brjuliet me mandou quase certo so trocouuma coisa onde está c.igreja era c.idigreja ja corrigido ficou assim
select * from tb_controle c
inner join tb_igreja i on i.idigreja = c.idigreja
inner join tb_sermao s on s.idsermao = c.idsermao
obg a todos
;) foi mal não reparei
opaaaa urgente, isso ja esta no topo das minhas prioridades.
de uma olhada
http://www.luis.blog.br/left-join-e-inner-join-juncao-em-consultas-sql.aspx