Ir para conteúdo

POWERED BY:

Arquivado

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

Cesão

Inserção Múltipla

Recommended Posts

Olá pessoal... tenho uma pesquisa onde existem várias perguntas e respostas...

Ela foi construída dinamicamente...

 

o código dela não é longo... foi feita assim:

<!--#include file="conn/conexao.asp"--><html><head><title>Pesquisa</title></head><%iduser = Request("idu")sql="SELECT * FROM pesq_pessoas WHERE id_user="&iduser	set rs_user=conexao.execute(sql)sql="SELECT * FROM pesq_perguntas ORDER BY id_perg"	set rs_perg=conexao.execute(sql)%><body><form name="form1" method="post" action="add_pesquisa.asp">  <table width="50%"  border="0" align="center" cellpadding="0" cellspacing="0" class="txt">	<tr>	  <td> </td>	</tr>	<tr>	  <td><b>Olá <%=rs_user("nome")%>! Preencha a pesquisa corretamente para poder ganhar brindes exclusivos:</b></td>	</tr>	<tr>	  <td> </td>	</tr>	<tr>	  <td>Qual sua faixa etária:		<%Matriz_Select="até 06 anos,06 a 08 anos,08 a 10 anos,10 a 12 anos,12 a 16 anos,16 a 20 anos,20 a 25 anos,25 a 30 anos,30 a 40 anos,acima de 40 anos"Matriz_Select=Split(Matriz_Select,",")%>		<Select name="idade" class="cxtxt" id="idade">		  <%For x=LBound(Matriz_Select) to UBound(Matriz_Select)%>		  <option value="<%=Matriz_Select(x)%>"><%=Matriz_Select(x)%></option>		  <%Next%>		</Select></td>	</tr>	<tr>	  <td> </td>	</tr>	<tr>	  <td>	  <%do while not rs_perg.EOF%>	  <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="txt">		  <tr>			<td><b><%=rs_perg("pergunta")%><br>		  <%		  If rs_perg("tipo") = ("3") Then		  %>		  <input name="nota" type="text" id="nota" size="2" maxlength="2">		  <%ElseIf rs_perg("tipo") = ("4") Then%>		  <textarea name="resposta" cols="55" rows="5" id="resposta"></textarea>		  <%End If%>		  </b></td>		  </tr>		  <%sql="SELECT * FROM pesq_respostas WHERE id_perg="&rs_perg(0)&" ORDER BY id_resp"	set rs_resp=conexao.execute(sql)%>		  <%do while not rs_resp.EOF%>		  <tr>			<td width="49%">		  <%		  If rs_perg("tipo") = ("1") Then		  %>		  <input name="<%=rs_perg(0)%>" type="radio" value="<%=rs_resp(0)%>">		  <%ElseIf rs_perg("tipo") = ("2") Then%>		  <input name="<%=rs_perg(0)%>" type="checkbox" id="check" value="<%=rs_resp(0)%>">		  <%		  End If		  %> <%=rs_resp("resposta")%></td>		  </tr>		  <%rs_resp.movenext%><%loop%>		  <tr>			<td> </td>		  </tr>	  </table>	  <%rs_perg.movenext%><%loop%>	  </td>	</tr>	<tr>	  <td> </td>	</tr>	<tr>	  <td align="center"><input type="submit" name="Submit" value="Enviar"></td>	</tr>  </table>  <p> </p></form></body></html>

Gostaria de saber como fazer para recuperar os dados que estou enviando nesta pesquisa e como faço para fazer a inserção de todas as respostas do questionário... (múltiplas inserções)...

 

Meu INSERT seria assim:

SQL="INSERT INTO pesq_votos (id_user,id_resp) VALUES("&id_user&", '"&id_resp&"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invéz de usar o name fixo como você está fazendo você usa o ID da pergunta como nome do INPUT.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh, isso eu jah fiz mesmo.. mas gostaria de saber como fazer para recuperar os dados e inseri-los todos de uma vez no DB na pagina de inserção...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor, preciso disso meio urgente....preciso saber como fazer para capturar essas informações e inseri-las todas de uma vez em registros separados no DB!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgadoooo!! Me ajuda ai??? haha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, voltei!

 

Cara, faz um SELECT nas PERGUNTAS e no While você recupera os dados e faz as inserções das respostas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema eh a estrutura.. nao sei como recuperar os dados jah que o nome do campo eh um recordset... preciso saber como fazer para recuperar e inserir todos os dados (id das respostas e id do usuario que tah respondendo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que eu quiz dizer é que na parte que faz os requests das "respostas" você deve fazer um SELECT na tabela das perguntas e usar o ID delas para fazer o Request das respostas, no mesmo laço já é possível fazer o insert. Caso não utilize usuários cadastrados no sistema grave as respostas usando o Session.SessionID como ID do usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao... eu to tentando , mas nao tah dando certo...

ele insere resposta errada etalz... sei lah... insere a mesma resposta varias vezes... e no checkbox ele nao insere todas as respostas...

 

olha como tah meu codigo:

 

<%id_user = Request.Form("id_user")sql="SELECT * FROM pesq_perguntas ORDER BY id_perg"	set rs_perg=conexao.execute(sql)	do while not rs_perg.EOFid_perg = cstr(rs_perg(0))sql="SELECT * FROM pesq_respostas WHERE id_perg="&id_perg	set rs_resp=conexao.execute(sql)	do while not rs_resp.EOF	id_resp = cstr(rs_resp(0))rs_resp.movenextloopSQL="INSERT INTO pesq_votos (id_user,id_resp) VALUES("&id_user&", '"&id_resp&"')"Response.Write(SQL)'conexao.Execute(SQL)rs_perg.movenextloop%>

Com certeza nao tah certo isso... falta algo ou tenho que alterar algo... mas nao faço a minima ideia do que....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim tem alguns errinhos, teste com esse e veja se rola corretamente

<%
id_user = Request.Form("id_user")

sql="SELECT * FROM pesq_perguntas ORDER BY id_perg"
set rs_perg=conexao.execute(sql)

While Not rs_perg.EOF
id_perg = cstr(rs_perg(0))

Resposta = Request.Form("ID_Perg") ' Acredito que tenha usado o ID da pergunta para nomear os campos da resposta.
SQL="INSERT INTO pesq_votos (id_user,id_perg,id_resp) VALUES("& id_user &", "& ID_Perg &", '"& Resposta &"')"
Response.Write(SQL &"<BR>")
'conexao.Execute(SQL)

rs_perg.movenext
Wend
%>

Acrescentei na sua SQL o campo id_perg, que acredito ter indicado a criação no outro tópico, se não indiquei, peço desculpas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, com esse código que você me enviou eu consegui listar todas as perguntas... mas as respostas não vieram...Como faço para que elas venham e sejam inseridas no banco??

Compartilhar este post


Link para o post
Compartilhar em outros sites

OOOOPPSSSS, foi mals!

Troque:

Resposta = Request.Form("ID_Perg")
Por:
Resposta = Request.Form(ID_Perg)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora deu certo... soh falta 2 coisinhas...

tem respostas no meu que são campos de texto...

tipo opiniões das pessoas...

e outro de campo de texto que o cara coloca nota...

 

como faço para inserir isso em outras tabelas do DB??

 

tipo assim... as perguntas 28 e 29 sao campos de texto (Memorando) e a inserção de suas respostas tem que ser feitas em outra tabela:

 

SQL="INSERT INTO pesq_respostas_texto (id_user,id_perg,resposta) VALUES("&id_user&", "& id_perg &", '"&respostatxt&"')"Response.Write(SQL)'conexao.Execute(SQL)

Assim como da pergunta 17 a 23 tbm são campos de texto e tem que ser inseridos numa terceira tabela:

 

SQL="INSERT INTO pesq_notas (id_user,id_perg,nota) VALUES("&id_user&", "& id_perg &", '"&nota&"')"Response.Write(SQL)'conexao.Execute(SQL)

Como faço para fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use a mesma lógica que usou para indicar qual era a forma de resposta da pergunta: IFs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa!! Consegui!! hahahahahahahaNem acredito!!Valeu mesmo Salgado!!!

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.