Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 

Listar do Banco de dados somente linhas com mesmo assunto  #resolvido

25-06-2007 13:14

Estou com dificuldade em fazer funcionar script onde só serão mostradas as linhas com o mesmo assunto. Funciona basicamente em listar os comentários de um único assunto.
<?php include "../conexao.php"; echo '<img src="../images/form.jpg" alt="Painel de comentários" align="absmiddle">'; echo "<b>Painel de comentários<br><br><br></b>"; $sql_listar_mensagens = "SELECT id, assunto, mensagem, autor, email, data_hora, lido FROM correio WHERE lido='N' ORDER BY id DESC LIMIT 10"; $resultado_listar_mensagens = mysql_query($sql_listar_mensagens) or die (mysql_error()); if(mysql_num_rows($resultado_listar_mensagens) < 1) { echo "Nenhum comentário publicado."; } else { while ($linha=mysql_fetch_array($resultado_listar_mensagens)) { $id = $linha["id"]; $assunto = $linha["assunto"]; $mensagem = $linha["mensagem"]; $autor = $linha["autor"]; $email = $linha["email"]; $data_hora = $linha["data_hora"]; echo "<b>Assunto:</b> $assunto<br />"; echo "<b>Autor:</b> $autor<br />"; echo "<b>E-mail:</b> $email<br />"; echo "<b>Data:</b> $data_hora<br /><br>"; echo "$mensagem<br />"; echo "<hr />"; } } ?>

Da maneira em que está o script lista todas as mensagens. Alguém sabe como solucionar o meu problema?
0
 

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 13:26

Só para esclarecer um pouco mais, vi ressaltar que o que vai ser mostrado são as linhas de uma tabela pertencente a uma base de dados.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 13:27

Esse assunto está na mesma tabela?
0
A melhor hospedagem para o seu site HostGator!
 

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 13:34

Existe uma tabela "x" onde dados são gravados, um dos seus campos se chama "titulo". Mas existe outra tabela "y" onde dados são adicionados referentes a cada item da tabela "x", e elas se encaixam através de seguinte lógica.

$titulo = $assunto

Onde 'titulo' pertence à tabela "x" e 'assunto' pertence a "y".

Criando dessa forma uma relação entre as duas.
0
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 237
Localização: Florianópolis/SC
Contato:

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 13:39

já deu uma olhada nesta coluna "LIDO" para ver se os comentários tem 'N' na coluna? e onde esta limitando a busca ao assunto?
'....WHERE assunto='xxx'....'

nesta sua consulta ao banco de dados só estou vendo que esta limitado a buscar os assuntos que tem 'N' na coluna 'LIDO' da tabela 'CORREIO', não tem outra coluna onde informa qual o assunto?

algo +/- assim:
$sql_listar_mensagens = "SELECT * FROM correio WHERE lido='N' and assunto='qualassunto?' ORDER BY id DESC LIMIT 10";

0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 13:58

O 'assunto' ser lido é uma variável que depende da outra tabela. Funciona da seguinte maneira:

Em uma tabela são cadastrados itens "n".

A depender do item que for escolhido será levado para outra página onde estarão comentários a respeito do mesmo.

ex:

x ---> comentários de x
y ---> comentários de y
z ---> comentários de z

Então, dessa forma o que eu faço para que a variável escolhida vá ser comparada ao ‘assunto’ na outra tabela utilizando o meio que foi referido ?
0
 

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 14:00


$sql_listar_mensagens = "SELECT * FROM correio WHERE lido='N' and assunto='qualassunto?' ORDER BY id DESC LIMIT 10";

Dessa forma eu estarei tornando 'assunto' uma constante.
0
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 237
Localização: Florianópolis/SC
Contato:

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 14:06

mas vc escreveu que quer mostras os comentários de UM ÚNICO ASSUNTO

"Estou com dificuldade em fazer funcionar script onde só serão mostradas as linhas com o mesmo assunto. Funciona basicamente em listar os comentários de um único assunto."

e como existem vários assuntos distintos na tabela, creio que a busca teria que obrigatoriamente ser limitada ao assunto especifico ao qual deseja que sejam mostrados os comentários.

caso contrário com certeza ira mostrar todos os comentários de todos os assuntos.

talvez eu nao esteja entendendo perfeitamente o que vc deseja, mas e se tentar o seguinte

primeiro uma busca na outra tabela para saber qual o assunto, então dentro destes resultados vc cria outra consulta na tabela, limitada ao assunto='xxx' (que foi encontrado na busca anterior)

pronto, vc teria os comentarios que se referem ao assunto 'xxx'
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 237
Localização: Florianópolis/SC
Contato:

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 14:08

então uma primeira consulta a tabela X, para pegar o $titulo, depois uma busca na tabela Y para pegar os registros que estejam na coluna ASSUNTO, que fica limita a
WHERE assunto='$titulo'
Existe uma tabela "x" onde dados são gravados, um dos seus campos se chama "titulo". Mas existe outra tabela "y" onde dados são adicionados referentes a cada item da tabela "x", e elas se encaixam através de seguinte lógica.

$titulo = $assunto

Onde 'titulo' pertence à tabela "x" e 'assunto' pertence a "y".

Criando dessa forma uma relação entre as duas.
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 14:15

Acho que o que o impossível falou é bem perto desse artigo
viewtopic.php?t=783
0
A melhor hospedagem para o seu site HostGator!
 

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 14:18

Muito obrigado a todos pela ajuda, ela foi indescritível. O script está funcionando corretamente.

Ficou dessa forma:
$sql_listar_noticias = "SELECT titulo FROM artigo ORDER BY id DESC LIMIT 10"; $titulo = $assunto; $sql_listar_mensagens = "SELECT * FROM correio WHERE lido='N' and assunto='$titulo' ORDER BY id DESC LIMIT 10";

0
 

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 14:20

Só falta eu remover o limite de busca da primeira tabela....
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 14:23

Por incrível que pareça eu ia falar isso mesmo:
WHERE lido='N' and assunto='$titulo'

por isso perguntei se o assunto estava em outra tabela 8)
0
A melhor hospedagem para o seu site HostGator!
 

Listar do Banco de dados somente linhas com mesmo assunto

25-06-2007 14:23

O $titulo = $assunto; é porque a variável assunto foi definida por $_POST na pagina anterior...
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado