Busca relacionada
pessoal, boa tarde, eu tenho o seguinte ambiente
Banco de dados - Tabela - lns_login
Banco de dados - Colunas - lns_log_usu_id
lns_log_usu_nome
Em ID estão os identificadores únicos de todos os users que se repetem em todas as tabelas
Banco de dados - Tabela - lns_msgs
Banco de dados - Colunas - lns_msg_usu_id
lns_msg_usu_rel
lsn_msg_message
Em 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á.
Banco de dados - Tabela - lns_login
Banco de dados - Colunas - lns_log_usu_id
lns_log_usu_nome
Em ID estão os identificadores únicos de todos os users que se repetem em todas as tabelas
Banco de dados - Tabela - lns_msgs
Banco de dados - Colunas - lns_msg_usu_id
lns_msg_usu_rel
lsn_msg_message
Em 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á.
comentários (0)
suspender
Lista de Respostas:
02/12/2013 1:46pm
(~11 anos atrás)
(~11 anos atrás)
o amigo do imaster conseguiu me ajudar
http://forum.imasters.com.br/topic/512699-busca-relacionada/#entry2032528
http://forum.imasters.com.br/topic/512699-busca-relacionada/#entry2032528