Ir ao conteúdo
  • Cadastre-se

Inserir uma postagem em duas tabelas


Ir à solução Resolvido por duzagatto,

Posts recomendados

Olá, estou desenvolvendo um site e estou finalizando-o, possuo os menus Hardware, Redes, Sistemas Operacionais e Programação (E mais alguns outros), e a Home mostra as últimas postagens.
 
Na parte de mostrar todas as últimas postagens tudo ocorreu perfeitamente, mas, não consigo fazer com que se eu criar uma postagem e adicionar a ela uma categoria (Por exemplo o valor sistemas) essa postagem com valor sistemas vá para o sua tabela mySQL correspondente.
 
Abaixo o meu código completo:
 
<h1>POSTAGENS</h1><?php	$dia = date("d");	$mes = date("m");	$ano = date("Y");		date_default_timezone_set('America/Sao_Paulo');?><div id="new-post">	<form method="post" enctype="multipart/form-data">		<span>Categorias:</span>		<select name="categoria">			<option value="sistemas">Sistemas</option>			<option value="programacao">Programação</option>			<option value="hardware">Hardware</option>			<option value="redes">Redes</option>		</select><br /><br />		<span>Autor:</span><br /><input type="text" name="autor" /><br /><br />		<span>Título da Postagem:</span><br /><input type="text" name="titulo" /><br /><br />		<span>Data:</span><br /><input type="text" name="data" value="<?php echo $dia."/".$mes."/".$ano." as ".date("H:i"); ?>" /><br /><br />		<span>Imagem:</span><br /><input type="file" name="imagem" /><br /><br />		<span>Conteúdo:</span><br /><textarea name="conteudo" cols="100" rows="40"> </textarea><br /><br />		<input type="hidden" name="acao" value="cadastrar" />		<input type="submit" value="CADASTRAR POSTAGEM" class="button" /><br /><br />	</form>	<?php	if(isset($_POST['acao']) AND $_POST['acao'] == 'cadastrar'){		$categoria = ucfirst($_POST['categoria']);		$titulo = ucfirst(trim($_POST['titulo']));		$autor = ucfirst(trim($_POST['autor']));		$data = ucfirst(trim($_POST['data']));		$conteudo = trim($_POST['conteudo']);				//Inserir postagem em uma tabela de categoria				if(isset($categoria) && $categoria =='sistemas'){			$insereCategoria = mysql_query("INSERT INTO sistemas (categoria_id, titulo, conteudo, imagem, autor, data) VALUES ('$categoria','$titulo','$conteudo','$nome','$autor','$data')");		}				elseif(isset($categoria) && $categoria =='programacao'){			$insereCategoria = mysql_query("INSERT INTO programacao (categoria_id, titulo, conteudo, imagem, autor, data) VALUES ('$categoria','$titulo','$conteudo','$nome','$autor','$data')");		}		elseif(isset($categoria) && $categoria =='hardware'){			$insereCategoria = mysql_query("INSERT INTO hardware (categoria_id, titulo, conteudo, imagem, autor, data) VALUES ('$categoria','$titulo','$conteudo','$nome','$autor','$data')");		}		elseif(isset($categoria) && $categoria =='redes'){			$insereCategoria = mysql_query("INSERT INTO redes (categoria_id, titulo, conteudo, imagem, autor, data) VALUES ('$categoria','$titulo','$conteudo','$nome','$autor','$data')");		}		else{			include('erro.php');		}		//Upload de Imgs		$pasta = 'imagens-posts';		$permite = array('image/jpg','image/jpeg','image/pjpeg');				$imagem = $_FILES['imagem'];		$destino = $imagem['tmp_name'];		$nome = $imagem['name'];		$tipo = $imagem['type'];				require('funcao.php');				if(empty($titulo) || empty($autor) || empty($data)){			echo '<script>alert("Preencha todos os campos");</script>';		}else{				if(!empty($nome) AND in_array($tipo, $permite)){					upload($destino, $nome, 200, $pasta);										$insereDados = mysql_query("INSERT INTO postagens (categoria_id, titulo, conteudo, imagem, autor, data) VALUES ('$categoria','$titulo','$conteudo','$nome','$autor','$data')");					echo '<script>alert("Enviado com sucesso!");</script>';				}else{					echo "Aceitamos apenas imagens no formato JPEG";				}		}	}?></div>

Possuo as tabelas postagens (Mostra todas as postagens), sistemas, redes, hardware e programacao (Referente aos menus) e em cada uma eu criei a coluna categoria_id para estabelecer uma conexão entre a tabela postagens com as outras tabelas dos menus e criei também um select com todas as opções de categorias para inserir na variavel categoria, mas com esse sistema que eu criei eu consegui apenas fazer com que ao cadastrar uma postagem ela vá para a tabela postagens, mas não conseguir fazer a postagem ir para o valor que eu coloquei no select. O que eu posso ter errado nesse código ? Desde já agradeço.

 

Link para o comentário
Compartilhar em outros sites

  • Solução

Bom, não resolvi o problema, mas consegui fazer o que eu queria, que era exibir as postagens de uma determinada categoria em sua respectiva página, mas nas ultimas postagens pegasse todas as postagens de todas as categorias e exibicem as mais recentes.

 

Para quem deseja fazer isso em seu site e está com problemas o que eu fiz foi, ir para a página da categoria (Por exemplo, a categoria programação) e declarar a seguinte regra na exibição da postagem:

 

$selSql = mysql_query("SELECT id FROM postagens WHERE categoria_id = 'programacao'");

 

A tabela postagens é onde são armazenadas todas as postagens e portanto, não foi necessario criar uma tabela para cada categoria ficando assim, até melhor para mim.

 

Como meu problema já foi resolvido, se algum moderador achar conveniente pode fechar o tópico.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...