Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcelo12

Exibir os dados de um item selecionado - PHP e MySQL

Recommended Posts

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

cara melhor vc cria rum cria uma varial para mysql_query( selete as colunas. from qual db
ai 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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.