gui117 0 Denunciar post Postado Abril 26, 2011 Olá pessoal, Estou fazendo um sistema de comentários para meu site, e preciso de ajuda pra fazer um banco de dados relacional. A idéia seria que cada notícia tivesse vários comentários (1:N) Então, o esquema seria relacionar uma tabela ‘inserir’ (que se refere às notícias) com a tabela "comentario". Da forma que eu fiz os mesmos comentários aparecem em todas as notícias. Não consigo individualizar os comentários. Como faço? Segue as estruturas das tabelas: -- Estrutura da tabela `inserir` -- CREATE TABLE IF NOT EXISTS `inserir` ( `id` int(100) NOT NULL auto_increment, `titulo` varchar(10000) collate utf8_unicode_ci NOT NULL, `noticia` text collate utf8_unicode_ci NOT NULL, `resumo` text collate utf8_unicode_ci NOT NULL, `dia` int(2) NOT NULL, `mes` int(2) NOT NULL, `ano` int(4) NOT NULL, `comentario` varchar(100) collate utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `comentario` (`comentario`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=63 ; -- Estrutura da tabela `comentario` -- CREATE TABLE IF NOT EXISTS `comentario` ( `id` int(100) NOT NULL auto_increment, `autor` varchar(100) collate utf8_unicode_ci NOT NULL, `email` varchar(100) collate utf8_unicode_ci NOT NULL, `comentario` varchar(100) collate utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `comentario` (`comentario`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; A pergunta é tão boba assim que não merece nem respostas? Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Abril 26, 2011 ola.. nao, a pergunta nao é boba.. mas calma.. olhando rapidamente, falta você fazer o relacionamento entre as tabelas. eu faço assim: vamos imaginar 2 tabelas, 1 p/ noticias e outra p/ comentarios, ok? na 1ª tabela vai existir 1 campo chave primaria autoincrement, ok? vamos chamar esse campo de id_noticia; na 2ª tabela você precisará ter 1 campo chave estrangeira q será esse "id_noticia" então - por exemplo - nos comentarios, 1, 3 e 7 você poderá ter o id_noticia nº 3, etc... ate ai beleza? ai fica simples; as consultas, na pratica, seguirão essa lógica: select campos from tabela de noticias where id_noticia = (1 parametro, 1 variavel) ai eu prefiro criar 1 outra seção (1 div) onde é só relacionar os comentários (claro, da tabela de comentários) q tenham o mesmo id_noticia já selecionado, ex: select campos from tabela de comentarios where id_noticia = (1 parametro, 1 variavel) Basicamente é isso, agora pesquise sobre "JOIN"(junção de tabelas) ai você pode criar 1 consulta só q já t traga os resultados q você quer, ok? Compartilhar este post Link para o post Compartilhar em outros sites