Ir para conteúdo

POWERED BY:

Arquivado

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

Luiz Otávio Foreba

[Resolvido] Como selecionar valores de duas tabelas, comparar e e

Recommended Posts

Pessoal, tenho duas tabelas no MySQL, uma de amigos (Nome do usuario que adiciona e nome do usuario adicionado), e uma tabela de posts... Só que as tabelas tem IDs, datas, horas e numero de posts diferentes, como eu faço para ver na tabela amigos quem é amigo de quem e depois selecionar os posts da tabela Posts só os posts de amigos... (acho que ficou complicado, mas vou explicar melhor).

 

Na tabela amigos, o cara que clica em adicionar um usuário como amigo, insere um valor na tabela dizendo que ele quer ser amigo do outro usuário, pronto, apenas isso, então ele adiciona uma linha ID, seu login, e o login de quem ele está adicionando.

 

Na tabela posts, tem o login de quem postou, o post, a data e a hora...

 

Eu preciso mostrar os posts de amigos, tipo, se o João é Amigo do José, o João e o José podem ver os posts de ambos, se um terceiro cara entra, ele não ve nenhum post, mas se o José adiciona ele como amigo, ele poderá ver o que José escreve, mas não o que João escreve, apenas se João o add como amigo...

 

Deu para entender?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Relacionamento de tabelas.

Sessão MYSQL

 

Tabela de cadastro [cadastro normais]

Tabela de Amigos [aqui terá o ID de quem adicionou e do ADICIONADO]

Nada complicado. Só questão de lógica.

Vai postando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Relacionamento de tabelas.

Sessão MYSQL

 

Tabela de cadastro [cadastro normais]

Tabela de Amigos [aqui terá o ID de quem adicionou e do ADICIONADO]

Nada complicado. Só questão de lógica.

Vai postando

 

Sim mas já está assim, onde eu disse nome do usuário que adiciona é o ID de quem está adicionando (único e automático), e onde é o amigo adicionado é o ID de quem é adicionado (único e automático), sendo assim, fica tipo o ORKUT, o cada usuário tem seus amigos, eu queria fazer algo semelhante ao Twitter, tipo, se você for meu seguidor (AMIGO), tu poderá ver o que escrevo, ao contrário disso, você não ve...

 

Eu consegui fazer algo parecido com o IF, tipo, fiz um select na tabela POSTs e fiz um LOOP com WHILE, dentro do WHILE, fiz outro SELECT na tabela POSTS selecionando o cadastro do usuário (único), então consegui pegar os dados e tudo mais com outro LOOP (Vai seguindo, já tem dois LOOPs um dentro do outro), dentro do loop do cadastro, fiz um outro laço para verificar quem é amigos de quem, então utilizei o IF para dizer, se José é amigo de joão, ele ve os posts, caso contrário não ve...

 

Mas, com isso, o MYSQL_NUM_ROWS apresenta o número total de linhas na tabela de posts, e o if não mostra o número total se o usuário não for amigo de todos os usuários do site, então se eu quiser mostrar o numero total de posts do usuário, aparece um numero diferente do número real que aparece...

 

Eu não queria fazer isso, para não pesar o servidor, gostaria de fazer um SELECT mais direcionado para fica mais fácil e limpo! Entende?

 

Obrigado pela resposta rápida!

 

Olha como está o código atualmente, deste modo, mostra tudo para todos os usuários, então eles começam a conversar em um imenso chat sabe??

 

Código:

 

<?php
$_pagi_sql = "SELECT * FROM posts ORDER BY id DESC";
	$_pagi_cuantos = 10; 
	$_pagi_nav_num_enlaces = "10"; 
	$_pagi_mostrar_errores = false; 
	$_pagi_conteo_alternativo = false; 
	$_pagi_propagar = array("idnoticia");
	$_pagi_nav_estilo = ""; 
	$_pagi_nav_anterior = "<";
	$_pagi_nav_siguiente = ">";
	include("blog_paginacao.php"); 
	
		while ($linha = mysql_fetch_assoc($_pagi_result)) {
			$id = $linha['id'];
			$data = $linha['data'];
			$hora = $linha['hora'];
			$login = $linha['login'];
			
				$consulta = "SELECT * FROM user_phiper WHERE login='$login_bagunca'";
				$resultado = mysql_query($consulta);
				
					$linha = mysql_fetch_assoc($resultado);
					$nome = $linha['nome'];
					$avatar = $linha['avatar'];
					$post = $linha['bagunca'];
					
					// AQUI VEM O CONTEÚDO
					
		}
		
	echo "<div id='paginas_n'>$_pagi_navegacion</div>";
?>

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.