Ir para conteúdo

POWERED BY:

Arquivado

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

Jhuliano

Celecionar tabela para salvar no bando SQL

Recommended Posts

Olá galera, sou novo aqui no forum e estou com um engalho grande em um projeto.

Eu e um amigo estamos construindo um pequeno site onde servira como um repositório de códigos de ambas linguagens.

A ideia é que o aluno de certa instituição poça selecionar uma tipo de linguagem e adicionar seus próprios códigos, para que outros alunos pação se utilizar dos mesmos.

 

Oque queremos é fazer com que um campo de opções select, que aparece na pagina como um conjunto de opões de linguagens, possa servir para selecionar qual tabela os códigos postados serão salvas no bando de dados.

 

Logo a baixo esta a estrutura da pagina a qual eu me refiro.

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> MINNI CODE </title>
</head>
<body>

<!--Estilizando um pouco a pagina, centraliza e colore-->
<style type="text/css">
body {
margin:0;
padding:0;
background:#ccc;
text-align:center;
}
a:link
{
text-decoration:none; <!--Tira o sublinhado azul dos links-->
}
</style>

<!--Código da pagina-->
<form name=myform>
OBRIGADO POR AJUDAR A ALIMENTAR NOSSO REPOSITÓRIO!!!<br><br>
Nome do aluno: <input type="text" name="nomealuno" size="53" ><br><br>
Nome do código: <input type="text" name="nomecode" size="52" ><br><br>
Tipo de linguagem:
<select name="Linguagem">
<option value="0">Selecione...</option>
<option value="1">C</option>
<option value="2">C++</option>
<option value="3">C#</option>
<option value="4">JAVA</option>
<option value="5">PYTHON</option>
<option value="6">MATLAB</option>
<option value="7">SCILAB</option>
<option value="8">HTML</option>
<option value="9">JAVA SCRIPT</option>
<option value="10">PHP</option>
<option value="11">CSS</option>

</select><br><br>
cole seu código aqui!<br>
<textarea name=mytextarea rows="30" cols="70"></textarea><br><br>

<input type="Submit" value="Enviar">
</form>

<body>
</html>

 

 

Peço ajuda para resolver isso, pois já tentei varias coisas e não consegui.

Caso eu não tenha explicado bem, comuniquem que tento explicar de uma forma mais esclarecida..

 

Agradeço desde já.....

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí você terá que fazer uma condição, no IF ou com SWITCH

switch($_POST['linguagem'])
{
      case 10: $insert_php;
      break;
      case 4: $tabela_java;
      break;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vais precisar do atributo action no formulário para que ele possa ser enviado e processado por uma página (a própria página do formulário ou outra).

 

Dizes que pretendes armazenar o código referente às linguagens em várias tabelas na base de dados. Talvez não seja a melhor solução. Porque não teres na mesma tabela apenas um campo que indique qual a linguagem a que um determinado código diz respeito? Seria bastante fácil de filtrar.

 

Finalmente, para fazeres a parte do armazenamento na base de dados, vais precisar de escrever código PHP que não consta no excerto que mostraste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara achei confuso o que você quer.

 

Você já tem as linguagens cadastradas ou o usuario que vai selecionar a linguagem e preenche o code?

 

Saca esse exemplo:

<?php
// consulta o mysql a tabela .... linguagem
$linguagens = Array(
	 'C'
	,'C++'
	,'C#'
	,'JAVA'
	,'PYTHON'
	,'MATLAB'
	,'SCILAB'
	,'HTML'
	,'JAVA SCRIPT'
	,'PHP'
	,'CSS'
);

echo '<select name="" id="">';
foreach($linguagens as $key => $val){
	echo "<option value='{$key}'>{$val}</option>";
}
echo '</select>';

Basicamente ele vai gerar de forma 'dinamica' o <select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigos, boa noite, a essa hora eu aqui lutando com códigos... kkkk

Bem, eu estive tentando fazer com o seguinte código a baixo, o switch seria para selecionar em que tabela do banco chamado de projeto (como tem no código) seria salvo os dados do formulário criado na pagina na qual postei os códigos anteriormente.

Dei uma pequena alterada na pagina postada anteriormente, caso necessário, faço um outro post com ela.

Logo abaixo esta os códigos que tentei, peço ajuda e agradeço desde já.....

<?php

include("conectar.php");
require("conectar.php");


// Mensagens de Erro
$msg[0] = "Conexão com o banco de dados falhou!";
$msg[1] = "Não foi possível selecionar o banco de dados!";

// Fazendo conexão com o servidor MySQL
$conexao = mysql_pconnect("localhost","root","mano!@#$") or die($msg[0]);

	
// Selecionando o banco de dados
mysql_select_db("projeto", $conexao) or die($msg[1]);

// Declarando as variareis

//$Linguagem = 0;
$nomealuno = $_POST["nomealuno"];
$nomecode = $_POST["nomecode"];
$mytextarea = $_POST["mytextarea"];
	
// Inserindo dados
//esse switch seria para selecionar em que tabela seria salvo 
//os dados do form. Só tem uma parte pois eu estava somente testando. 
switch($_POST['Linguagem']) {
	case 1:
	"C";
	break;
	case 2:
	'Cmais';
	break;
	case 3:
	"Ch";
	}


$query = "INSERT INTO Linguagem VALUES('$nomealuno','$nomecode','$mytextarea');";

$resultado = mysql_query($query,$conexao); {
?>	

<?php
} 
?>

Desculpem os erros e falhas, tanto nos códigos quanto na forna de postar, pois se estou procurando ajuda é porque não tenho muita experiencia e necessito da ajuda de vocês.... Obrigado.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou você atribuir os valores dos códigos à variável $nomecode. Dessa forma:

switch($_POST['Linguagem']) {
    case 1:
    $nomecode = "C";
    break;
    case 2:
    $nomecode = 'Cmais';
    break;
    case 3:
    $nomecode = "Ch";
    break;
    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa @Jhuliano fiquei chateado aqui se nem testou minha sugestão :D :D :D

 

O Caminho é este.

O legal de você ter uma tabela/array auxiliar é que padroniza a escrita.

Ex: se precisar adicionar uma linguagem nova você vai precisar alterar 2x tanto no seu switch qnto no seu html.

Tornando dinamico só uma vez e pronto haha

 

Veja um exemplo funcional:

<?php
//Cada linguagem recebe um numero de indice, ex: C = 0, C++ = 1, e assim por diante
$linguagens = Array(
	 'C'
	,'C++'
	,'C#'
	,'JAVA'
	,'PYTHON'
	,'MATLAB'
	,'SCILAB'
	,'HTML'
	,'JAVA SCRIPT'
	,'PHP'
	,'CSS'
);

if(count($_POST)> 0){
	echo 'clicou!<hr />';
	echo 'Linguagem selecionada: ' . $linguagens[$_POST['linguagem']];
}

echo '<form action="" method="POST">';
echo '<select name="linguagem" id="linguagem">';
foreach($linguagens as $key => $val){
	echo "<option value='{$key}'>{$val}</option>";
}
echo '</select><br />';
echo '<input type="submit" value="Enviar" />';
echo '</form>';

Recomendo dar uma lida em Arrays:

https://secure.php.net/manual/pt_BR/language.types.array.php

 

Se ficou aluma duvida de como o cada linguem recebeu um numero.

 

 

Abraços e bons estudos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá galera, bom dia, boa tarde e boa noite.

 

Estou aqui novamente, dessa vez para agradecer a todos pelas ajudas e dizer que consegui oque estava querendo, foi mais fácil do que eu pensava.

 

O meu mair problema era com os códigos da minha pagina de salvamento dos dados no banco, tinha erros na pagina

que me faziam pensar ser necessário usar if, ifelse e ate switch, mas não foi necessário.

 

Agradeço a todos e em especial ao Alaert e ao Gabriel.

 

Vou deixar logo a baixo os códigos que usei, para que assim possa ajudar a mais pessoas.....

<html>
<head>
<title> cadastrando... </title>
</head>
<body>
<style>

body {
margin:0;
padding:0;
background:#ccc;
text-align:center;
}
#h1 { 
font-weight: 100;
letter-spacing: -2px;
font-size: 50px;
padding: 10px 0 20px 0;
}

</style>

//Conexão com o banco
<?php
$host = "localhost";
$user = "root";
$pass = "mano!@#$";
$banco = "projeto";
$conexao = @mysql_connect($host,$user, $pass) or die(mysqli_error());
@mysql_select_db($banco) or die(mysqli_error());
?>

//Carrega os dados no banco
<?php
$Linguagem = $_POST["Linguagem"];//Recebe o valor do select, e determina em que tabela serão salvas as informações.
$nomealuno = $_POST['nomealuno'];
$nomecode = $_POST['nomecode'];
$mytextarea = $_POST['mytextarea'];
$sql = mysql_query( "INSERT INTO $Linguagem (nomealuno, nomecode, mytextarea) VALUES('$nomealuno', '$nomecode', '$mytextarea')");



 echo("<center><h1>Seu código foi adicionado com sucesso!</h1></center>");
?>

<form>
<input type="button" value="Voltar"onClick="JavaScript: window.history.back();">
</form>



</body>
</html>

Gabriel, me desculpe não ter falado mais não só testei como usei a sua ideia, deixarei a baixo ai os códigos apois a

reformulação que fiz...

<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title> MINNI CODE </title>
  </head>
  <body>
  
  <!--Estilizando um pouco a pagina, centraliza e colore-->
  <style type="text/css">
  body {
	margin:0;
	padding:0;
	background:#ccc;
	text-align:center;	
	}
	a:link 
	{ 
 	text-decoration:none; <!--Tira o sublinhado azul dos links-->
	} 
  </style>
  
  			<!--Código da pagina-->
			<!--<form name=myform>-->
			<form action="cadastrando.php" method="POST">
			OBRIGADO POR AJUDAR A ALIMENTAR NOSSO REPOSITÓRIO!!!<br><br>
			Nome do aluno: <input type="text" name="nomealuno" size="53" ><br><br>
			Nome do código: <input type="text" name="nomecode" size="52" ><br><br>
			Tipo de linguagem:
			<select name="Linguagem">
			 <option value="0">Selecione...</option>
			 <option value="C">C</option>
			 <option value="Cmais">C++</option>
			 <option value="Ch">C#</option>
			 <option value="JAVA">JAVA</option>
			 <option value="PYTHON">PYTHON</option>
			 <option value="MATLAB">MATLAB</option>
			 <option value="SCILAB">SCILAB</option>
			 <option value="HTML">HTML</option>
			 <option value="JAVA_SCRIPT">JAVA SCRIPT</option>
			 <option value="PHP">PHP</option>
			 <option value="CSS">CSS</option>
			 
			</select><br><br>
			cole seu código aqui!<br>
			<textarea name="mytextarea" rows="30" cols="70"></textarea><br><br>
			
			<input type="Submit" value="Enviar"><input type="reset" value="Limpar">
		</form>
	
  <body>
</html>

Ai esta, mais uma vez agradeço a todos e ate aproxima...........

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.