Marcelo12 0 Denunciar post Postado Maio 30, 2013 Olá pessoal. Sou novo por aqui e estou precisando de uma ajudinha. É o seguinte, eu estou construindo um sistema que será usado pra fazer cadastro de notícias. Cada notícia é vinculada a uma categoria. E eu criei a tela onde é possivel o usuário cadastrar novas categorias caso precise. Até aí tudo bem. Na hora de cadastrar uma nova notícia, o usuário deve inserir o titulo, a data, selecionar a categoria, escrever o texto e clicar em cadastrar. Aí começa o problema. Na hora de exibir as notícias cadastradas, ao invés de exibir a categoria escolhida, ele exibe sempre a primeira categoria da lista. Esse é o código da minha página notícias, onde elas são exibidas: <meta charset="utf-8"> <table border="1" width="900" cellpadding="5" cellspacing="5" class="tbl_mostraUsuarios"> <tr bgcolor="#CC0033"> <td>ID </td> <td>Titulo </td> <td>Data </td> <td>Categoria </td> <td>Alterar </td> <td>Deletar </td> </tr> <?php $listarNoticias = mysql_query("SELECT * FROM noticias ORDER BY codigo ASC"); if(mysql_num_rows($listarNoticias) == 0){ echo "<tr><td>Nenhum registro encontrado</td></tr>"; } else{ while($linha = mysql_fetch_array($listarNoticias)){ $idNoticia = $linha['codigo']; $tituloNoticia = $linha['titulo']; $dataNoticia = $linha['data']; $categoriaNoticia = $linha['categoria']; echo"<tr> <td>$idNoticia</td> <td>$tituloNoticia</td> <td>$dataNoticia</td> <td>$categoriaNoticia</td> <td><a href='editarNoticia.php?codigo=$idNoticia'><img src='botoes/editar.png'/></a></td> <td><a href='deletarNoticia.php?codigo=$idNoticia'><img src='botoes/remover.png'/></a></td> </tr> "; } } ?> </table> E este é o código da página de cadastro de notícias: <div class="formularioUser"> <form action="" method="POST" enctype="multipart/form-data"> <label> <span> Título: </span> <input type="text" name="titulo" /> </label> <br /> <label> <span> Data: </span> <input type="date" name="data" /> </label> <br /> <label> <span> Categoria: </span> <select name="categoria[] multiple"> <?php include("config.php"); $listarCategorias = mysql_query("SELECT codi,categoria FROM categorias"); while($linha = mysql_fetch_array($listarCategorias)){ echo "<option value=".$linha['codi'].">".$linha['categoria']."</option>";} ?> </select> </label> <br /> <label> <span> Texto: </span> <textarea cols="100" rows="20" name="texto"></textarea> </label> <br /> <input type="submit" value="Cadastrar" /> <input type="hidden" name = "acao" value="cadastrar_noticia" /> </form> <?php /*VERIFICA SE ESTÁ REALIZANDO A AÇÃO DE FAZER LOGIN*/ if (isset( $_POST['acao']) && $_POST['acao'] == 'cadastrar_noticia'){ $titulo = trim($_POST['titulo']); //Criação da variável titulo $texto = trim($_POST['texto']); //Criação da variável texto $data = trim($_POST['data']); //Criação da variável data $listarCategorias = mysql_query("SELECT categoria FROM categorias"); $linha = mysql_fetch_array($listarCategorias); if ($titulo=="" or $texto =="" or $data =="" or $linha['categoria'] ==""){ echo "<script>alert('Há campos em branco. Preenchimento obrigatório.')</script>"; } else{ $inseriNoticia = mysql_query("INSERT INTO noticias (titulo,texto,data, categoria) VALUES ('$titulo','$texto','$data','$linha[categoria]')"); echo "<script>alert('Notícia adicionada com sucesso!');location.href='painel.php'</script>"; } } ?> </div> Espero que alguém possa me ajudar. Desde já, obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
darabia 0 Denunciar post Postado Maio 30, 2013 cara melhor vc cria rum cria uma varial para mysql_query( selete as colunas. from qual dbai dentro deesse array vc vai por WHERE categoria = '$quando' esa função nas colunas vc vai criar uma colune chama categoria..entao toda colune categoria sera seleciona quando.. o valor que esta insiro nela vinculado com os resto dos dados... sera tal.. Compartilhar este post Link para o post Compartilhar em outros sites
Marcos Xavier 189 Denunciar post Postado Maio 31, 2013 Repare que você está ordenando pelo codigo ORDER BY codigo ASC Por que não usa ORDER BY categoria ASC //ou ORDER BY data ASC //ou ORDER BY data DESC Compartilhar este post Link para o post Compartilhar em outros sites
weidson 3 Denunciar post Postado Junho 5, 2013 cara eu ceio que cada categoria sua tem um id tipo: 1 esporte 2 novelas ae vc poderia nesse select $listarNoticias = mysql_query("SELECT * FROM noticias ORDER BY codigo ASC"); inserir um WHERE id_categoria= 1 assim só seria exibido as noticias da categoria esporte Compartilhar este post Link para o post Compartilhar em outros sites