Mcesar 0 Denunciar post Postado Novembro 7, 2008 Pessoal, postei algum tempo aqui solicitando uma ajuda sobre como criar uma página onde liste noticias por categoria mais as respostas não foram satisfatórias e resolve postar novamente, obrigado a quem puder me ajudar. Abaixo esta a estrutura de duas tabelas quem tenho em meu banco de dados , alguém poderia me ajudar em criar uma página onde as notícia aparecesse por categorias. Onde terei um menu com as categorias ex. mundo, brasil, comunidade, internet etc., preciso que ao clicar em um item neste menu apareça a página da categoria selecionada e claro as noticias relacionadas a mesma, primeiro preciso criar esta página depois pensarei em paginação ou limit de noticias. obrigado. pn_noticias Campo intNotID strNotTitle strNotText strNotImage intCatID intUsrID strNotStatus intNotViews strNotHome strNotDateCad pn_noticias_categorias Campo intCatID strCatTitle Desde já muito obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 7, 2008 O que você conseguiu fazer e quais são as dúvidas e dificuldades? Compartilhar este post Link para o post Compartilhar em outros sites
Mcesar 0 Denunciar post Postado Novembro 7, 2008 O que você conseguiu fazer e quais são as dúvidas e dificuldades? Neste caso não fiz nada, preciso é criar está página que liste as notícias por categoria e um menu com link para cada categoria, não entendo muito de PHP tudo que até agora eu fiz pelo dreamweaver. Compartilhar este post Link para o post Compartilhar em outros sites
hgb7 3 Denunciar post Postado Novembro 7, 2008 http://www.phpdemos.com.br/browse.php?cat=148 Espero que ajude ;) Compartilhar este post Link para o post Compartilhar em outros sites
Mcesar 0 Denunciar post Postado Novembro 7, 2008 http://www.phpdemos.com.br/browse.php?cat=148 Espero que ajude ;) Já tenho um sistema de noticia funcionando onde lista todas as notícias etcc.. o que eu preciso mesmo é desta pagina de categorias. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 7, 2008 O menu com as categorias é bem simples de montar. Basta fazer uma consulta listando todos os registros da tabela de categorias. Para exibir os produtos de uma determinada categoria, você terá de fazer um relaionamento de tabelas, usando JOIN. Veja: http://forum.imasters.com.br/index.php?showtopic=140816 http://dev.mysql.com/doc/refman/4.1/pt/join.html É a lógica básica de um sistema de busca. Há diversos tutoriais sobre isso. Aconselho você a estudá-los um pouco, para saber o que está fazendo e não depender de programas como o Dreamweaver, que geram códigos automaticamente - nem sempre de boa qualidade, diga-se de passagem. Compartilhar este post Link para o post Compartilhar em outros sites
lifeSample 1 Denunciar post Postado Novembro 7, 2008 Se eu entendi voce poderia fazer assim: Adapte: Function ConectaMysql(){ @$conecta = mysql_connect(MY_HOST,MY_USUARIO,MY_SENHA) or die(mysql_error()); @$banco = mysql_select_db(MY_BANCO,$conecta) or die(mysql_error()); mysql_errno()==0 ? $r=true : $r=false; return $r; } Function ListaCategorias(){ ConectaMysql(); $resultado = mysql_query("SELECT * FROM pn_noticias_categorias") or die(mysql_error()); if($resultado and mysql_errno()==0){ while( $linha = mysql_fetch_array($resultado) ){ $cat_id=$linha[0]; $cat_nome=$linha[1]; ?> <a href="index.php?cat=<?php echo $cat_id; ?>"><?php echo $cat_nome; ?></a><br/> <?php } } mysql_close() or die(mysql_error()); } ?> Chamando: <?php echo "<p>Categorias</p>"; ListaCategorias(); ?> Selecionando genericamente: <?php @$cat=$_GET['cat']; if(isset($cat)){ ConectaMysql(); $resultado=mysql_query("SELECT * FROM pn_noticias WHERE intcatid='$cat';"); if($resultado>0 and mysql_errno()==0){ while( $linha = mysql_fetch_array($resultado) ){ ?> <h3><?php echo $linha[1];?></h3> <?php } } } ?> P.S.: Nao testei Compartilhar este post Link para o post Compartilhar em outros sites
Mcesar 0 Denunciar post Postado Novembro 14, 2008 Se eu entendi voce poderia fazer assim: Adapte: Function ConectaMysql(){ @$conecta = mysql_connect(MY_HOST,MY_USUARIO,MY_SENHA) or die(mysql_error()); @$banco = mysql_select_db(MY_BANCO,$conecta) or die(mysql_error()); mysql_errno()==0 ? $r=true : $r=false; return $r; } Function ListaCategorias(){ ConectaMysql(); $resultado = mysql_query("SELECT * FROM pn_noticias_categorias") or die(mysql_error()); if($resultado and mysql_errno()==0){ while( $linha = mysql_fetch_array($resultado) ){ $cat_id=$linha[0]; $cat_nome=$linha[1]; ?> <a href="index.php?cat=<?php echo $cat_id; ?>"><?php echo $cat_nome; ?></a><br/> <?php } } mysql_close() or die(mysql_error()); } ?> Chamando: <?php echo "<p>Categorias</p>"; ListaCategorias(); ?> Selecionando genericamente: <?php @$cat=$_GET['cat']; if(isset($cat)){ ConectaMysql(); $resultado=mysql_query("SELECT * FROM pn_noticias WHERE intcatid='$cat';"); if($resultado>0 and mysql_errno()==0){ while( $linha = mysql_fetch_array($resultado) ){ ?> <h3><?php echo $linha[1];?></h3> <?php } } } ?> P.S.: Nao testei Para simplificar vou criar uma página para cada categoria e em cada página precisarei listar as notícias desta categoria, eu consigo criar a página listando todas as notícias, mais isso pelo dreamweaver, eu não estou sabendo é como chamar as noticias de determinada categoria. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 14, 2008 SELECT campos_da_tabela FROM noticias WHERE categoria = id_da_categoria; Criar uma página para cada categoria é desnecessário. Conforme surgirem novas categorias, você teria de criar novas páginas. Não precisa fazer isso. Já mexeu com Query String? Provavelmente não. Leia sobre isso e verá que tudo ficará mais simples e claro. Compartilhar este post Link para o post Compartilhar em outros sites
Mcesar 0 Denunciar post Postado Novembro 15, 2008 Ok, Consegui listar minhas categorias da tabela pn_noticias_categorias relacionadas com a ID da tabela pn_noticias, mais conforme o código do lifeSample seus links <a href="index.php?cat=<?php echo $cat_id; ?>"><?php echo $cat_nome; ?></a> direciona para a index.php. Agora o mais importante é saber como listarei as noticias referente as categorias? alguém me ajude por favor. Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Novembro 15, 2008 Na index,você vai ter que pegar e analisar o valor de cat ($_GET['cat']),a partir desse valor,vai exibir as noticias. Tabela noticias: Coluna:nomenoticia Tipo:varchar Coluna:noticia Tipo:text Coluna:categoria Tipo:varchar Index: <?php //$c = variavel da conexao $cat = addslashes(strip_tags($_GET['cat'])); $q = @dbx_query($c , "SELECT * FROM noticias WHERE categoria='".$cat."'"); for($i = 0;$i < $q->rows;$i++){ echo "Nome noticia:".$q->data[$i][0].nl2br("\n"); echo "Texto:".$q->data[$i][1].nl2br("\n"); } ?> Abraço! Ps:foi só um exemplo,fazer em base adequando-o a seu objetivo. Compartilhar este post Link para o post Compartilhar em outros sites
Mcesar 0 Denunciar post Postado Novembro 16, 2008 Ok, Consegui listar minhas categorias da tabela pn_noticias_categorias relacionadas com a ID da tabela pn_noticias, mais conforme o código do lifeSample seus links <a href="index.php?cat=<?php echo $cat_id; ?>"><?php echo $cat_nome; ?></a> direciona para a index.php. Agora o mais importante é saber como listarei as noticias referente as categorias? alguém me ajude por favor. Legal, consegui fazer listar as noticias por categoria usando o código do lifeSample, mais elas lista sem link, como fazer listarem com os links?. estou chegando lá. muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites