Ir para conteúdo

POWERED BY:

Arquivado

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

fmda

O que tem de errado neste SELECT

Recommended Posts

Olá,

 

alguem podia me ajudar, nao to conseguindo ver o porque nao pega a id, seguinte: precisso capturar o ID do usuario atual e jogar num select para comparar o retorno de acordo com a ID, se eu faço desta forma da certim:

 

$rsTotalComentarios = $db->Execute("SELECT count(idusuario) as total FROM comentarios WHERE idusuario = (SELECT id FROM usuarios WHERE id = 1)");

 

so que neste caso coloquei o numero "1" padrao, mas precisso que pegue o valor da id do usario, ou seja, usuario 3 compara com 3, usuario 4 compara com o 4, em diante... como posso fazer isso, ja tentei pondo para comparar com = id, mas ae retorno apenas 0....

 

isso que tenho nas paginas pra pegar os dados

<?php

require_once "usuario.php";

$id = (int)$_GET['id'];
$rsComentarios = $db->Execute("
	select
		c.id , 
		c.idusuario , 
		u.usuario , 
		u.id as iduser,
	from comentarios as c 
	left join usuarios as u on c.idusuario = u.id 
	where c.postid = $id
");

$rsTotalComentarios = $db->Execute("SELECT count(idusuario) as total FROM comentarios WHERE idusuario = (SELECT id FROM usuarios WHERE id = 1)");
$comentarios = $rsTotalComentarios->fields["total"];

isso é que uso para pegar a ID atual

<?php echo $usuario->getId(); ?>

minha tabela é

comentario > id e id_usuario (pra comprar a id com a id do usuario)
usuario > id

alguem pudia me falar o porque, nao to conseguindo resolver este problema, obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá... Não entendi o sentido disto...

 

SELECT id FROM usuarios WHERE id = 1

Se você sabe qual o id (já que usa o mesmo na cláusula WHERE) porque quer selecionar ele?

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

porque tipo, cada usuario tem uma pagina que irá mostrar quantos comentarios ele ja fez no site, por isso que cada pagina tem que pegar a id do usuario e nao um fixo, exemplo:

 

pagina1 = id 1

pagina2 = id 2

pagina3 = id 3

 

e por ae vai, por isso quero mudar aquele "1" por <?php echo $usuario->getId(); ?> por exemplo, pra quando alguem visitar a apgina de tal usuario retornar a id dela

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui resolver, criei uma variavel pra receber e depois usei ela no id = var...

 

agora tem um porem, e este nao sei resolver, como que faço para somar os valores de diferentes tabelas? porque tenho 2 tabelas, comentario1 e comentario2, queria somar estes 2 tabelas, se uma tem 100 comentario e outra 300, me retornaria 500 no total

 

$pega = $usuario->getId();
$rsTotalComentarios = $db->Execute("select count(id) as total from comentarios where idusuario = $pega");
$comentarios = $rsTotalComentarios->fields["total"];

$peg2a = $usuario->getId();
$rsTotalComentarios2 = $db->Execute("select count(id) as total2 from comentarios2 where idusuario = $pega2");
$comentarios2 = $rsTotalComentarios2->fields["total2"];

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu certim, obrigado pela ajuda, agora so uma ultima coisa, como que faço pra pegar o valor que a variavel total recebe e adicionar, da um update, no meu banco com este valor:

 

exdmplo é se tenho 3000 de valor, e cada vez que entro naquela pagina adiciona + 1, entao, no meu db ficaria 3001

 

$db->Execute("update usuarios set p = p + 1");
$db->Execute("insert into pagina (id, data) values ($id, now()) ");

e a variavel que usei pra receber valor, um inteiro qualquer foi

 

$Total = ( $Ht );

ae no execute ficaria p + $Total

Compartilhar este post


Link para o post
Compartilhar em outros sites

so por curiosidade o sql do primeiro post nao funcionou devido ao nome das colunas

 

 

 

SELECT count(idusuario) as total FROM comentarios WHERE idusuario = (SELECT id FROM usuarios WHERE id = 1)

 

 

para funcionar deveria ser mesmo nome da coluna no IN ():

SELECT count(idusuario) as total FROM comentarios WHERE idusuario = (SELECT id as idusuario FROM usuarios WHERE id = 1)"

Compartilhar este post


Link para o post
Compartilhar em outros sites

select

c.id ,

c.idusuario ,

u.usuario ,

u.id as iduser,

from comentarios as c

sei que o post está em andamento e modificou bastante, mas ali no primeiro post havia um erro de sintaxe... um vírgula a mais

 

u.id as iduser, isso provoca erro, pois não há uma coluna após a vírgula, gerando erro de sintaxe..

Compartilhar este post


Link para o post
Compartilhar em outros sites

o primeiro post consegui arrumar, vlw ;)

 

sobre o segundo é o seguinte, cada vez que alguem entra na pagina de informações do usuario é somado o valor "1" no db, que uso no Update, ae quero somar o valor que tenho do Db, exemplo: 1015, com o valor desta variavel onde somo nas tabelas, nao to conseguindo intender, como somar o valor de um update + um valor dakela variavl

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.