wannabe 0 Denunciar post Postado Maio 18, 2008 Pessoal pelooooo amor de Deus hehe.. jah tow caindo os cabelos.. nem durmo mais.. so quebrando a cabeça com uma coisa que acho q deve ser facil.. lá vai.. Eu estou precisando criar um sistema de artigos onde os usuarios poderão comentar nos artivos q eu fizer...a db chama-se noticias onde tempos duas tabelas: -noticia: noticias -comentarios: onde: - noticias contém os campos ( id, noticia, foto, autor) e em... - comentarios nós temos os campos... id comenatio e nome daí nem sei como começar.. jah li sobre relacionamento deve ser a solução mas vem muito vago pois muitos mostram a porta... outros a chave e uns só me dizem q devo entrar.. mas ninguem mostra completo... na teoria eu até q sei.. o q tenho que fazer é isto.. 1ª na pagina noticias a noticia vai tah lah exibida.. e tem um link.. quando o caba clicar vai abrir um popup este jah vai tah no hidden o id da noticia... tipo.. pego por $_GET e com um campo para o ceito digitar o comentario e postar.. agora este comentario tem q ser relacionado a noticia em questão.. q q tem o valor do id pego pelo get... // PS.: eu gostaria de saber como cadastrar a noticia relacionada.. como criar o campo e como exibir depois de pronta.. se alguem souber e tiver afim de salvar uma alma hehe... ficarei muito muito muito³ grato :D ah. eu sei q o sistema é muitos para um.. ou seja.. ( muitos comentarios por artigo cadastrado) hhum.. só mais uma coisa.. o sistema não pode ser baseado ( comentarios) em txt igual muitos q eu jah vi... tem q ser todo no mysql Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Maio 18, 2008 uma coisa bem simples cria 2 tabelas(os campos q eu citar sao obrigadtorios) artigo id artigo etc... comentario id fk_artigo etc... na query você usa SELECT * FROM comentario, artigo WHERE algum_criterio_seu AND artigo.id = comentario.fk_artigo simples =D pra falar a verdade eu to usando essa query aki agora.... Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 19, 2008 siga o conselho do amigo Igor.php SELECT * FROM comentario, artigo WHERE algum_criterio_seu AND artigo.id = comentario.fk_artigo para entender melhor veja essa discussão no forum wmonline: http://forum.wmonline.com.br/index.php?showtopic=141562 Compartilhar este post Link para o post Compartilhar em outros sites
wannabe 0 Denunciar post Postado Maio 19, 2008 Mas eu não teria que relacionar as duas? tipo relacionar a comentario com a artigo como faço isto? ou da maneira q está aí eu posso apenas criar as tabelas no modo InnoDB depois cadastrar as noticias e deixar o campo para o form.. sendo q no fk_artigo o form vai enviar o id da artigo.. ou tow viajando? rpz... eh q tow lezim nisto... eu fiz assim... Estrutura da tabela `comentario` CREATE TABLE `comentario` ( `id` tinyint(4) NOT NULL auto_increment, `fk_artigo` int(4) NOT NULL, `comentario` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; -- -------------------------------------------------------- -- Estrutura da tabela `noticias` CREATE TABLE `noticias` ( `id` tinyint(4) NOT NULL auto_increment, `artigo` text NOT NULL, `autor` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Maio 19, 2008 você vai relacionar na query...veja o select... Compartilhar este post Link para o post Compartilhar em outros sites
wannabe 0 Denunciar post Postado Maio 19, 2008 então naum há nem necessidade de eu colocar o inno.. posso criar uma tabela normal mesmo neh... Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 19, 2008 como eu termino este codigo de modo que seja exibida uma unica mensagem e varios comentarios ( os relacionados a ela...) brigadão amigo nesse caso é questão de raciocínio lógico. é o seu trabalho. basta fazer criar uma estrutura de repetição exemplo while( $dados = mysql_fetch_array($buscar) ){ } se tiver dificuldades estude esse tutorial básico: http://www.silicio.com.br/php/tutorial.html Compartilhar este post Link para o post Compartilhar em outros sites
wannabe 0 Denunciar post Postado Maio 19, 2008 heeh resolvido contudo surgiu outro problema... referencias duplicadas... =( <?php $cn=mysql_connect("localhost","root","pass") or die ("erro 1"); $db=mysql_select_db("nt") or die ("erro 2"); $buscar=mysql_query("SELECT * FROM noticias, comentarios WHERE noticias.id=comentarios.id") or die ("erro"); while($mostrar=mysql_fetch_array($buscar)) { $com=$mostrar["comentario"]; echo $com."<br>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 19, 2008 wannabe, pelo que estou vendo não há necessidade de fazer consulta referenciada o que entendi é que você qeur exibir assim: titulo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia conteudo noticia comentarios 1- comment 1comment 1comment 1comment 1comment 1comment 1comment 1 comment 1comment 1comment 1comment 1 comment 1comment 1comment 1comment 1comment 1comment 1comment 1 2- comment 1comment 1comment 1comment 1comment 1comment 1comment 1 comment 1comment 1comment 1comment 1 comment 1comment 1comment 1comment 1comment 1comment 1comment 1 é isso não é ? basta selecionar a noticia primeiro $sql = SELECT * FROM NOTICIA WHERE id = " . $noticia_id; $ver = mysql_fetch_array( $sql ); echo $ver['artigo']; e logo em baixo faça o loop nos comentários cujo id seja igual a $noticia_id $sql = SELECT * FROM COMENTARIO WHERE id = " . $noticia_id; while( $ver = mysql_fetch_array( $sql ) ){ echo "<hr>" . $ver['comentario']; } é apenas um exemplo.. Compartilhar este post Link para o post Compartilhar em outros sites
wannabe 0 Denunciar post Postado Maio 19, 2008 comentar.php (descrição: formulario que recupera os dados vindo de um get.. por exemplo de um link... ex.: <a href="comentar?id=1">comentar</a> <?php $id=(int)$_GET["id"]; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'>http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">'>http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Comentar</title> <style type="text/css"> <!-- body { background-color: #cccccc; } --> </style></head> <body> <form action="post_comentar.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <p> <input name="id" type="hidden" id="id" value="<?php echo $id;?>" /> <label>Nome: <input name="nome" type="text" id="nome" value="" /> </label> <p> <label>E-mail: <input name="email" type="text" id="email" value="" /> </label> </p> <p> <label> <textarea name="comentario" cols="30" rows="5" id="comentario"></textarea> </label> </p> <p> <label> <input type="submit" name="Submit" value="Enviar" /> </label> </p> <p> </p> <label></label> </form> </body> </html> este aih de cima é o formulario.. então entra o post_comentar.php post_comentar.php (aqui é a pagina responsavel por gravar os dados no mysql) <?php $id=$_POST["id"]; //recebe o id vindo da outra pagina $nome=$_POST["nome"]; $email=$_POST["email"]; $comentario=$_POST["comentario"]; $cnn=mysql_connect("localhost","root","pass") or die("erro ao conectar com o bd"); $db = mysql_select_db("noticias") or die("erro ao conectar com a tabela"); $inserir="INSERT INTO comentarios (idnoticia,nome,email,comentario)VALUE('$id','$nome','$email','$comentario')"; $inserir=mysql_query($inserir) or die("erro"); echo "hum..."; ?> agora a pagina que vai exibir os dados.. exibir_comentarios.php da mesma forma da primeira.. você usa tipow uma query para chamar ela... <?php $id=(int)$_GET["id"]; if($id=="0") { echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN \" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd \"> <html xmlns= \"http://www.w3.org/1999/xhtml \"> <head> <meta http-equiv= \"Content-Type \" content= \"text/html; charset=iso-8859-1 \" /> <title>Untitled Document</title> <style type= \"text/css\"> <!-- body { background-color: #FF0000; } .style1 { font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000; } --> </style></head> <body> <table width= \"733 \" height= \"28 \" border= \"0 \" cellpadding= \"0 \" cellspacing= \"0 \"> <tr> <td height= \"28 \" bgcolor= \"#FFFF00 \"><div align= \"center \" class= \"style1 \">ERRO INTERNO NO SISTEMA cod.: 0028 </div></td> </tr> </table> </body> </html>"; break; } else { $cn=mysql_connect("localhost","root","pass") or die ("erro 1"); $db=mysql_select_db("noticias") or die ("erro 2"); $buscar=mysql_query("SELECT * FROM comentarios WHERE comentarios.idnoticia=$id") or die ("erro"); while($mostrar=mysql_fetch_array($buscar)) { $com=$mostrar["comentario"]; echo $com."<br>"; } } ?> AGRADECIMENTOS: - Hinom - Igor - a mim ( que não desisti) - ao google.. - ao Lucas Pascoa - tutorial mysql - http://lucaspascoal.blog.br/2007/11/13/tut...os-e-variaveis/ VLWS GENTE... AGORA VOU DORMIR.. EU MEREÇO HEHE.. Compartilhar este post Link para o post Compartilhar em outros sites