fye ♪ 0 Denunciar post Postado Dezembro 2, 2013 pessoal, boa tarde, eu tenho o seguinte ambienteBanco de dados - Tabela - lns_loginBanco de dados - Colunas - lns_log_usu_idlns_log_usu_nomeEm ID estão os identificadores únicos de todos os users que se repetem em todas as tabelasBanco de dados - Tabela - lns_msgsBanco de dados - Colunas - lns_msg_usu_idlns_msg_usu_rellsn_msg_messageEm Id ele guarda a ID de quem enviou a msg para buscar o nome em lns login, funciona perfeitamente quando eu busco apenas um usuário, mas em uma certa aplicação, eu não consigo buscar o nome do usuário, ele só retorna campo em branco, ou o identificador, não da erro, apenas não mostra nada.Nesta aplicação, ele só exibe a identificação, se eu pedir para mostrar o nome, ele retorna erro, fiz uma relação e trouxe em branco<ul id="myList"><?php $buscar_mensagem_usuario = mysql_query("SELECT * FROM lns_msgs WHERE lns_msg_usu_id = ".$usuario['lns_log_usu_id']." OR lns_msg_usu_rel = ".$usuario['lns_log_usu_id']." ORDER BY lns_msg_id DESC");if(mysql_num_rows($buscar_mensagem_usuario) == 0){?><li class="mensagem_usuario"><span>Nenhumma msg postada, que tal postar a primeira?</span><?php } else {while($linha = mysql_fetch_array($buscar_mensagem_usuario)){?><li class="mensagem_usuario"><span class="capitalize usu_nome_msg"><?php echo $linha['lns_msg_usu_id'];?>: </span><span><?php echo nl2br(ucfirst(htmlentities(utf8_decode($linha['lsn_msg_message']))));?></span><?php }}?>já nesta, traz normalmente o nome do usuário, mas por que só existe a busca única sobre ele<ul id="myList"><?php $buscar_mensagem_usuario = mysql_query("SELECT * FROM lns_msgs WHERE lns_msg_usu_id = ".$usuario['lns_log_usu_id']." AND lns_msg_usu_rel = ".$usuario['lns_log_usu_id']." ORDER BY lns_msg_id DESC");if(mysql_num_rows($buscar_mensagem_usuario) == 0){?><li class="mensagem_usuario"><span><label class="capitalize"><?php echo $usuario['lns_log_usu_nome'];?></label> não postou nada ainda!</span><?php } else {while($linha = mysql_fetch_array($buscar_mensagem_usuario)){?><li class="mensagem_usuario"><span class="capitalize usu_nome_msg"><?php echo $usuario['lns_log_usu_nome'];?>: </span><span><?php echo nl2br(ucfirst(htmlentities(utf8_decode($linha['lsn_msg_message']))));?></span><?php }}?>como faço para buscar o nome relacionado ao identificador dentro do WHILE ?grato desde já. Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Fagundes 40 Denunciar post Postado Dezembro 2, 2013 Você tem que fazer o inner join com a tabela usuario: $buscar_mensagem_usuario = mysql_query("SELECT b.Ins_log_usu_nome, a.Ins_msg_message FROM lns_msgs a inner join Ins_login b on a.lns_msg_usu_id = b.Ins_log_usu_id WHERE a.lns_msg_usu_id = ".$usuario['lns_log_usu_id']." AND a.lns_msg_usu_rel = ".$usuario['lns_log_usu_id']." ORDER BY a.lns_msg_id DESC"); E não utilizar * em suas consultas para evitar lentidão... Segue o correto: $buscar_mensagem_usuario = mysql_query("SELECT b.Ins_log_usu_nome, a.Isn_msg_message FROM lns_msgs a inner join Ins_login b on a.lns_msg_usu_id = b.Ins_log_usu_id WHERE a.lns_msg_usu_id = ".$usuario['lns_log_usu_id']." AND a.lns_msg_usu_rel = ".$usuario['lns_log_usu_id']." ORDER BY a.lns_msg_id DESC"); Compartilhar este post Link para o post Compartilhar em outros sites
fye ♪ 0 Denunciar post Postado Dezembro 2, 2013 cara obrigado, só mudando pouca coisa $buscar_mensagem_usuario = mysql_query("SELECT b.lns_log_usu_nome, a.lsn_msg_message FROM lns_msgs a inner join lns_login b on a.lns_msg_usu_id = b.lns_log_usu_id WHERE a.lns_msg_usu_id = ".$usuario['lns_log_usu_id']." OR a.lns_msg_usu_rel = ".$usuario['lns_log_usu_id']." ORDER BY a.lns_msg_id DESC") or die ( mysql_error()); no caso no final é OR para pegar um ou outro que é diferente de selfie que é AND que é só ele e nenhum outro, e então busca o nome de ususário <span class="capitalize usu_nome_msg"><?php echo $linha['lns_log_usu_nome'];?>: </span> grato mesmo Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Dezembro 2, 2013 http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in Compartilhar este post Link para o post Compartilhar em outros sites