Ir para conteúdo

POWERED BY:

Arquivado

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

pinoc

[Resolvido] Inner join

Recommended Posts

To com a seguinte duvida.

 

Tenho as seguintes tabelas.

 

PAGINA

ID | PAGINA
4    home

 

LOCAL PAGINA

ID | LOCALPAGINA 
6    Destaque

 

TEXTO

id_texto | titulo | texto        | id_pagina | id_localpagina 
9          Teste    Texto teste    4           6

 

Minhas duvidas.

 

- Essa estrutura esta certa, basicamente quero exibir isso em determinada pagina e local como acho que da para entender.

- E como eu faço para exibir em terminada pagina e local da pagina acredito que seria com inner join certo?

 

 

Agradeço muito se alguem poder me ajudar.

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT * FROM texto as t
inner join  local_pagina as lp on t.id_paginalocal = lp.id
inner join pagina as p on t.id_pagina = p.id

 

seria mais ou menos isso. ai no lugar do * você coloca os campos q precisa exibir,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com INNER JOIN seria mais ou menos asism, pois seriam 3 tabelas, né?!

Só acho melhor mudar o nome da sua tabela LOCAL PAGINA para local_pagina.

SELECT * FROM texto 
INNER JOIN pagina
ON texto.id_pagina = pagina.id
INNER JOIN local pagina
ON texto.id_localpagina = local pagina.localpagina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com INNER JOIN seria mais ou menos asism, pois seriam 3 tabelas, né?!

Só acho melhor mudar o nome da sua tabela LOCAL PAGINA para local_pagina.

SELECT * FROM texto 
INNER JOIN pagina
ON texto.id_pagina = pagina.id
INNER JOIN local pagina
ON texto.id_localpagina = local pagina.localpagina

 

Gabriel Jacinto

 

Fiz a mudança para local_pagina como você deu a ideia.

So que para min aqui não esta funcionando.

Sera que fiz algo errado, da uma olhada se possivel.

 


<?php 

$home = mysql_query ("SELECT * FROM texto INNER JOIN pagina ON texto.id_pagina = pagina.id INNER JOIN local_pagina ON texto.id_localpagina = local_pagina.local");
 while($total = mysql_fetch_array($home)){

 ?>
 <h1 class="titulo_cont"><?php echo $total['titulo']; ?></h1><!-- titulo_cont -->
 <?php echo $total['texto']; ?>

<?php 
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu erro ou n retornou nenhum resultado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mostre a estrutura da sua tabela local_pagina. Pode ser algum erro nisso.

 

Gabriel Jacinto

 

Consegui resolver já, tinha cometido um erro ridiculo. HEHE

Obrigado pela ajuda.

 

Gabriel Jacinto

 

Me da uma ajuda ai, meu codigo ta assim.

$home = mysql_query ("SELECT * FROM pagina INNER JOIN local_pagina ON pagina.id = local_pagina.id_pagina INNER JOIN texto ON texto.id_localpagina = local_pagina.id");
while($total = mysql_fetch_array($home)){
}

 

Ta exibindo tudo certinho perfeitinho, porem ele ta exibindo todos os textos que eu cadastro em todos os lugares preciso fazer ele exibir o texto destaque so na home e no local destaque o texto principal so na home e no local do texto principal.

 

Sabe alguma ideia de como fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só fazer um WHERE:

$home = mysql_query ("SELECT * FROM pagina INNER JOIN local_pagina ON pagina.id = local_pagina.id_pagina INNER JOIN texto ON texto.id_localpagina = local_pagina.id WHERE local_pagina.LOCALPAGINA  = 'Destaque'");

Compartilhar este post


Link para o post
Compartilhar em outros sites

HAHAHAHA. você não sabe o quando eu ri agora.

Totalmente sem atenção agora.

 

Muito Obrigado pela ajuda gabriel.

Tudo funcionando perfeitamente aqui ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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