Ir para conteúdo

POWERED BY:

Arquivado

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

marciarf

form (html) + insert into (PHP)

Recommended Posts

Olá

Estou com um arquivo php onde tenho um form html para entrada de dados. Quero que, com os dados preenchidos, ao clicar no botão Enviar eu consiga gravar esses dados no BD. Alguém aí sabe me dizer como fazer isso?

 

Márcia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Márcia, diga uma coisa, tu já tem alguma noção de como fazer o formulário, criar bancos/tableas MySQL?

Posso te ajudar a iniciar uma inclusão, poste mais alguns detalhes/conhecimentos teus para iniciarmos, ok?

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada pela ajuda ninhO0

Dessa forma eu já tinha o arquivo de inserção pronto, só imaginei que houvesse outra forma de faze-lo. Mesmo pq isso que estou criando é uma interface onde terá um gráfico que é gerado inicialmente com valores default advindos do bd e com um formulário a ser preenchido pelo usuário para entrar com dados para alterar o gráfico com os dados que quiser.

Então, esses dados serão gravados no bd e atualizarão o gráfico. Dessa forma, ou seja, usando um outro arquivo pra gravar, é ele que aparece no browser já que a pagina anterior o chamou.

O que preciso é que reapareça a página do gráfico atualizada com esses dados que acabaram de ser gravados no bd.

Sabe como fazer?

 

P.S. Obrigada ao rogerss_7 também pela atenção...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que tu queres fazer é uma listagem dos conteúdos no Bd?

Se sim, segue um exemplo.

 

<?php
$host_name = "localhost";
$db_name = "nome_banco";
$user = "usuario_banco";
$pass = "senha_banco";

$conexao = mysql_connect ($host_name, $user, $pass) or die ("Erro ao conectar");
mysql_select_db ($db_name, $conexao);

$consulta = "SELECT * FROM nome_tabela";
$query = mysql_query($consulta) or die(mysql_error());

while($x = mysql_fetch_array($query)){

$nome = $x["nome"];
$nome_2 = $x["nome_2"];

echo "
<div><b>$nome</b></div>
<div>$nome_2</div>";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que tu queres fazer é uma listagem dos conteúdos no Bd?

Se sim, segue um exemplo.

Não é isso que quero.

Quero que quando eu enviar os dados do formulário (ex.: form.php) para o arquivo que irá gravar esses dados no bd (inserir_bd.php), em seguida reapareça no meu browser o arquivo form.php atualizado, pois junto ao formulário tem um gráfico que deverá ser ajustado com os dados recém gravados no bd.

Entendeu?

Do jeito que está me aparece na tela o arquivo inserir_bd.php.

 

Thanks por enquanto, mas se souber como fazer agradeço..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você ja tem esse gráfico programado ? Porque se tiver num entendo seu problema..pois é so colocar um header no insere.php voltando pro form.php, ou então em js algo do tipo :

<script language="javascript">
   alert("Daods enviados com sucesso!");
   document.location.href="form.php";
 </script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

RomanMG

É mais ou menos isso. Eu já tenho o gráfico que inicialmente é gerado com dados pré-fixado e que estao no banco de dados.

O que pretendo?

Que ao abrir a página do gráfico o usuário o veja, assim como um formulário onde ele poderá entrar com outros dados para gerar um gráfico diferente.

Estes dados que ele entrou, no entanto terão que ser gravados no bd e retornar ao gráfico para altera-lo. Realmente se colocar no header no arquivo inserir_bd.php ele volta pra pagina do form com o grafico, mas tem que aparecer os o grafico alterado com os dados que o usuario entrou anteriormente.

Do jeito que está, simplesmente entro com os dados, gravo no bd e vejo a pagina do form e grafico novamente, mas o grafico nao é alterado.

Compreendes?

É como se ao enviar os dados do form para o arquivo inserir_bd.php, eles tivessem que ser retornados para a pagina do grafico tambem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim eu entendo o que você quer fazer,mas sinceramente não entendo porque não está funcionando, porque o gráfico (imagino eu) trabalha com dados coletados do bd certo? E esse usuário insere dados no bd, então a lógica seria que quando voltasse da página que insere os dados essa página do form estivesse atualizada já, talvez o erro esteja no script que coleta os dados ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade nem precisaria gravar no bd pra atualizar o gráfico. Só com o form chamando a mesma página (já que o gráfico está junto) resolveria. O problema é que um do itens do formulário tem que ser gravado no bd.

Vou te mandar parte do código, talvez fique mais fácil entender.

$sql=("SELECT numrecurso, REPLACE(nomerecurso,' ','_') as nomerecurso, unidrecurso  FROM tab_recursos") or die(mysql_error());
$res2=mysql_query($sql, $db) or die(mysql_error());

$sql1="SELECT numrecurso,nomerecurso,unidrecurso FROM tab_recursos" or die(mysql_error());
$res3=mysql_query($sql1, $db);

  $material = mysql_result($res3,0,'numrecurso');
  $recurso = mysql_result($res3,0,'nomerecurso');
  $unidade = mysql_result($res3,0,'unidrecurso');
  $estoque_m = 0;

  if(isset($_POST['material'])){
  $material = $_POST['material'];
  $recurso = $_POST['recurso'];
  $unidade = $_POST['unidade'];
  $estoque_m = $_POST['estoque_m'];
  }

$sql2="SELECT numrecurso, DATE_FORMAT(FROM_UNIXTIME(dia),'%d-%m-%Y')as dia, consumo, recebimento FROM tab_estoque WHERE numrecurso='".$material."' ORDER BY DATE_FORMAT(FROM_UNIXTIME(dia),'%Y%m%d')";
$res4 = mysql_query($sql2, $db) or die(mysql_error());
$res5 = mysql_query($sql2, $db);

  $data_v = strtotime(mysql_result($res4,0,'dia'));
  $D=$data_v;
  $DATA=$D;
  $q_receber = mysql_result($res4,0,'recebimento');

  if(isset($_POST['data_v'])){
  $data_v = strtotime($_POST['data_v']);
  $D = $data_v;
  $DATA=$D;
  $q_receber = $_POST['q_receber'];
  $data_recebimento = $_POST['data_recebimento'];
  }

 ?>

<table border="1" align="center" cellpadding="5" cellspacing="3">
  <tr>
	<td>Recurso:</td>
	<td>Data inicial para visualização: </td>
	<td>Estoque inicial: </td>
	<td>Data de recebimento:</td>
	<td>Quantidade a receber:</td>
  </tr>
  <tr>
  <form method="POST" name="myform" action="inserindo_bd.php">

	  <td><SELECT size="1" name="material">
	  <?php
	  while($num=mysql_fetch_array($res2)){
	  $num0=$num['numrecurso'];
	  $num1=$num['nomerecurso'];
	  $num2=$num['unidrecurso'];
	  ?>

	  <OPTION  value='<?php echo $num0.":";echo $num1.":";echo "(".$num2.")";?>'>
		 <?php echo $num0.":";
		 echo $num1.":";
		 echo "(".$num2.")";
		 ?>
	  </OPTION>
	   <?php  } ?>

   </SELECT></td>
	  <td><input name="data_v" type="text" size="10"></td>
	  <td><input name="estoque_m" type="text" size="10"></td>
	  <td><input name="data_recebimento" type="text" size="20"></td> <!--contenteditable="false"-->
	  <td><input name="q_receber" type="text" size="10"></td>
	  </tr>
	  <tr>
	  <td colspan="6"><center><INPUT TYPE="submit" value="Enviar">   <INPUT TYPE="reset" value="Redefinir"></center></td>
	  </tr>
   </form>
	</tr>

</table>

<br />
Explicando:

a parte inicial (selects) são os dados lidos no bd pro gráfico

os isset é justamente pra receber valores de um form

e depois o formulário (agora chamando esse outro arquivo inserindo_bd.php pra gravar no bd)

Se você vir o início do post, vais ver que eu nao queria usar outro arquivo pra gravar, queria saber se não conseguiria fazer tudo desse arquivo ai.

Daí alguém me disse pra usar o arquivo pra gravar. Entao essa parte do código precisa ser ajustada novamente.

Não sei se ficou claro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi reativar este post pq ainda não achei a resposta para ele.

Se alguém puder dar um help, fico agradecida.

Acho que não é nada de outro mundo, só que não acho a solução...

Thanks

Compartilhar este post


Link para o post
Compartilhar em outros sites

oiee...td bem?

 

você está usando a mesma página que tem o form para inserir os dados no banco??? é isso?

está enviando as variáveis via post?? então onde ele pega as variáveis vindas do form, tenta gerar o gráfico já e dar um window.location como disse o RomanMG, atualizando assim a página que tem o gráfico e o formulario...

 

beleza??

 

qqer coisa posta o código completo ae...

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.