flagking 0 Denunciar post Postado Abril 6, 2017 Pessoal, é o seguinte: Eu faço uma consulta num BD de mensagens. Dentro desta consulta, antes de fechar o WHILE, faço outra consulta pra buscar, por exemplo, o horário da última postagem naquele tópico de mensagens. Até aí, td bem. O problema é que quando o registro não existe, ele repete indefinidamente, até existir outro. EXEMPLO: Mensagem 1: A cor azul é feia. Escrito por fulaninho de tal, 12h. Mensagem 2: A cor preta é legal. Escrito por beltraneto de paula, 14h. Mensagem 3: A cor vermelha é forte. Sem Horário. Mensagem 4: A cor amarela é fraca... Sem Horário. Mensagem 5: A cor rôxa é nervosa... 23h E assim por diante. O retorno do resultado vem assim: Azul - 12h Preta - 14h Vermelha - 14h Amarela - 14h Rôxa 23h. Como faço pra, qdo não tem horário gravado, retornar um valor nulo? Compartilhar este post Link para o post Compartilhar em outros sites
Gleyson Abreu 49 Denunciar post Postado Abril 6, 2017 Poste o código para facilitar a ajuda, mais pelo que entendi na query você tem que por uma condição para evitar isso. ex: $busca = $pdo->prepare("SELECT * FROM posts WHERE horario != '' ORDER BY id DESC"); $busca->execute(); No caso das aspas simples na variável $busca para dizer que se não houver conteúdo no campo não mostra-lo. Isso aí e mais ou menos oque você quer.... Compartilhar este post Link para o post Compartilhar em outros sites
flagking 0 Denunciar post Postado Outubro 20, 2017 Gleyson, mto obrigado pela resposta que, perdão, somente fui ver agora. Eu tinha desistido desse código, mas agora vou precisar implementá-lo. Segue abaixo a lógica e o código: #Separando por categorias $sql2 = mysql_query ("SELECT * FROM forum_topicos WHERE id_cat = '$indice' AND status = '0' ORDER BY data_atual DESC") or die (mysql_error()); while($linha2 = mysql_fetch_array($sql2)){; $id_topico = $linha2['id']; $tit_topico = $linha2['titulo_topico']; #Ok, esta consulta acima busca tópicos de um forum de discussão e mantém o While aberto. #Continua: #Definindo a data da última postagem $sql = mysql_query("SELECT * FROM view_topic WHERE id_topico = '$id_topico' AND id_user = '$id_user' ORDER BY data_view DESC LIMIT 1"); while($dados = mysql_fetch_array($sql)) { $data_view = $dados['data_view']; } #Aqui o resultado sai assim, por exemplo: #Tópico 1 - Data 23/05 #Tópico 2 - Data 29/05 #E assim por diante. #O problema é que, por exemplo, o tópico 5 e 6 não tiveram postagens. #Aí ele repete a data do tópico 4 [anterior] até que um novo tópico tenha uma postagem com data. #Tópico 4 - Data 01/06 #Tópico 5 - Data 01/06 [repete do 4] #Tópico 6 - Data 01/06 [repete do 5, que repetiu do 4] #Tópico 7 - data 03/06... #E aí fecha o While inicial. } Compartilhar este post Link para o post Compartilhar em outros sites
flagking 0 Denunciar post Postado Outubro 20, 2017 Creio que acabei de resolver o problema colocando a exclamação antes do sinal de igual: id_topico != $id_topico. MTO obrigado! Edit: Ultima forma. Não era isso, não... Continuo trabalhando nisso. Compartilhar este post Link para o post Compartilhar em outros sites