Ir para conteúdo

POWERED BY:

Arquivado

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

acborba

[Resolvido] como inserir um array no banco?

Recommended Posts

Pessoal como faço a inserção de um array no banco? Tenho a seguinte tabela:

 

tb_resposta

idResposta //inserir por array

matricula //enviado por hidden

idPergunta /inserir array

idGrupo //inserir por array

idQuestionario //é enviado por hidden

resposta //inserir por array

dat_res //uma triger insere a dat

 

questionario1.php

<?
session_start();
include "conexao.inc";
$usuario=$_SESSION[usuario];
$idquest = $_GET['idquest'];
$matricula = $_GET['matricula'];
$quest = mysql_query("SELECT descricao FROM questionario WHERE idquestionario='$idquest'");
$reg_quest = mysql_fetch_assoc($quest);
?>
<body>
<form method="post" name="frm" action="questionario2.php">
<div id="logo">
	<h1><img src="images/logo.jpg" alt="logo" width="180" height="130" />Questionário da CPA </h1>
</div>
<p> </p>
<table width="100%" border="0" align="center">
			  <tr>
				<td align="center" class="style1"><span class="style2"><? echo $reg_quest[descricao];?> </span></td>
			  </tr>
</table>
<div id=geral>
<?
$grupo = mysql_query("SELECT grupo,idgrupo FROM grupo WHERE questionario_idquestionario='$idquest'" );
$qtd_grupo = mysql_num_rows($grupo);
for ($x=1; $x<=$qtd_grupo; $x++)
{
$reg_grupo=mysql_fetch_assoc($grupo);
$idgrupo = $reg_grupo[idgrupo];
?>
<table width="100%" border="0" align="center">
	<td><span class="style3">Grupo: <? echo $reg_grupo[grupo];?> </span></td>
  </tr>
</table>
<p> </p>
<?
$perg = mysql_query("SELECT pergunta,idPergunta FROM pergunta WHERE grupo_idGrupo='$idgrupo'");
$qtd_perg = mysql_num_rows($perg);
for ($i=1; $i<=$qtd_perg; $i++)
{
$reg_perg=mysql_fetch_assoc($perg);
?>
<table width="100%" border="0">
  <tr>
	<td><? echo $i.' - '; echo $reg_perg[pergunta]; ?> </td>
  </tr>
</table>
<table width="200">
  <tr>
	<td><label>
	  <input type="radio" name="opcao[<?=$reg_grupo[idgrupo]?>][<?=$reg_perg[idPergunta]?>]" value=5 />
	  Muito Safisfeito</label></td>
  </tr>
  <tr>
	<td><label>
	  <input type="radio" name="opcao[<?=$reg_grupo[idgrupo]?>][<?=$reg_perg[idPergunta]?>]"  value=4 />
	  Satisfeito</label></td>
  </tr>
  <tr>
	<td><label>
	  <input type="radio" name="opcao[<?=$reg_grupo[idgrupo]?>][<?=$reg_perg[idPergunta]?>]"  value=3 />
	  Pouco Satisfeito</label></td>
  </tr>
  <tr>
	<td><label>
	  <input type="radio" name="opcao[<?=$reg_grupo[idgrupo]?>][<?=$reg_perg[idPergunta]?>]"  value=2 />
	  Insatisfeito</label></td>
  </tr>
  <tr>
	<td><label>
	  <input type="radio" name="opcao[<?=$reg_grupo[idgrupo]?>][<?=$reg_perg[idPergunta]?>]"  value=1 />
	  Muito Insatisfeito</label></td>
  </tr>
	<tr>
	<td><label>
	  <input type="radio" name="opcao[<?=$reg_grupo[idgrupo]?>][<?=$reg_perg[idPergunta]?>]"  value=0 />
	  Não Se Aplica</label></td>
  </tr>

</table>
<p> </p>
<?
}
}
?>
<input type="hidden" name="idquest" value="<? echo $idquest;?>" />
<input type="hidden" name="matricula" value="<? echo $matricula;?>" />
<table width="200" border="0">
  <tr>
	<td><input type="submit" name="Submit" value="Cancelar" /></td>	  
	<td>
	<input type="submit" value="ok"></td>
  </tr>
</table>
<p> </p>
</div>
</form>
</body>
</html>

questionario2.php

<?
session_start();
include "conexao.inc";
$usuario=$_SESSION[usuario];
$idquest = $_POST['idquest'];
$matricula = $_POST['matricula'];
$arr = $_POST['opcao'];

//teste para ver o que esta inserido
$teste = ("INSERT INTO resposta (idResposta,matricula,idPergunta,idGrupo
idQuestionario,resposta,dat_res) VALUES(idResposta,'$matricula','$arr','$arr','$idquest'
'$arr',dat_res)");
echo $teste;
die();

?>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok serialize, mas como usar? Eu digo, separar os campos que serão salvos na tablela.

(idResposta,matricula,idPergunta(vem do array),idGrupo(vem do array),idQuestionario,resposta(vem do array),dat_res)

 

questionario2.php

$idquest = $_POST['idquest'];
$matricula = $_POST['matricula'];
$arr = $_POST['opcao'];

$saved = serialize($arr); 
//teste para ver o que esta inserido
$teste = ("INSERT INTO resposta (idResposta,matricula,idPergunta,idGrupo,idQuestionario,resposta,dat_res) VALUES(idResposta,'$matricula','$saved','$saved','$idquest'
'$saved',dat_res)");
echo $teste;
die();
?>

O resultado de $teste:

 

INSERT INTO resposta (idResposta,matricula,idPergunta,idGrupo, idQuestionario,resposta,dat_res)

VALUES(idResposta,'15677','a:2:{i:40;a:1:{i:104;s:1:"5";}i:37;a:1:{i:102;s:1:"5";}}','a:2:{i:40;a:1:{i:104;s:1:"5";}i:37;a:1:{i:102;s:1:"5";}}','11' 'a:2:{i:40;a:1:{i:104;s:1:"5";}i:37;a:1:{i:102;s:1:"5";}}',dat_res)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido!

 

<? 
$idquest = $_POST['idquest'];
$matricula = $_POST['matricula'];
$arr = $_POST['opcao'];
$comentario = $_POST['comentario'];

foreach ($arr as $chv => $vlr) {
	foreach ($vlr as $chv_1 => $vlr_1){
	
$ins_res = mysql_query("INSERT INTO resposta (idResposta,usuario_matricula,pergunta_idPergunta,pergunta_grupo_idGrupo,
pergunta_grupo_questionario_idquestionario,resposta,dat_res) VALUES(idResposta,'$matricula','$chv_1','$chv','$idquest',
'$vlr_1',dat_res)");	
	}
}
$ins_com = mysql_query("INSERT INTO comentario (idcomentario,questionario_idquestionario,usuario_matricula,comentario)
VALUES(idcomentario,'$idquest','$matricula','$comentario')");
?>

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.