Ir para conteúdo

POWERED BY:

Arquivado

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

MrEd

Gravar Dados vindo do Select

Recommended Posts

Pessoal, eu fiz o seguinte código:

 

<h3 align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sortear   por:</font></h3>  <?  $sql="Select promocao from promocao";  $resultado=mysql_query($sql,$conexao);  ?><form method="post" action="<?$PHP_SELF;?>"><table width="84%" border="0" align="center">  <tr>    <td width="20%">Promoção:.</td>    <td><select name="promocao" value="">    <option>Escolha uma opção</option>  <?  while ($linhas=mysql_fetch_array($resultado)) {       ?>    <option>     <?=$linhas["promocao"];?>    </option><? } ?>    </select></td>    <td width="18%">Quantidade:.</td>    <td width="11%"><select name="qtd" value="">          <option>1</option>        <option>2</option>        <option>3</option>        <option>4</option>        <option>5</option>      </select></td>    <td width="17%"><input type="submit" name="Submit" value="Sortear"></td>  </tr>  <input type="hidden" name="OK" value="1"></table></form><h3 align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">   <br>  <br>  <br>  <br>  Os Sorteados são:</font></h3>  <?  if($_POST["OK"]) { //abre if    $promocao=$HTTP_POST_VARS["promocao"];  $qtd=$HTTP_POST_VARS["qtd"];    $sql="Select * from participantes where promocao='$promocao' order by rand() limit ".$qtd;  $resultado=mysql_query($sql,$conexao);  ?><table width="75%" border="1" align="center">  <tr>     <td><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nome</font></strong></div></td>    <td><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">E-Mail</font></strong></div></td>    <td><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Promoção</font></strong></div></td>    <td><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Prêmio</font></strong></div></td>  </tr>  <?  while ($linhas=mysql_fetch_array($resultado) or die(mysql_error())) { //abre while  ?>  <tr>     <td> <div align="center">         <?=$linhas["nome"];?>      </div></td>    <td> <div align="center">         <?=$linhas["email"];?>      </div></td>    <td> <div align="center">         <?=$linhas["promocao"];?>      </div></td>    <td> <div align="center">         <?=$linhas["premio"];?>      </div></td>  </tr>  <?   } //fecha while } //fecha if do post?>

Neste código, a pessoa vai escolher uma promoção e a qntd de pessoas q serao sorteados e o sistema vai mostrar as pessoas sorteadas. Até aqui, nada demais pra mim.

O problema q eu estou tendo é para logo apos o while, ele gravar os dados q estao vindo do select (sem importar qnts são) nas variaveis nome, email, promocao, premio e grava-las em outra tabela. Como eu posso fazer isso ???

 

Grato

Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

É simples:

while ($r = mysql_fetch_array($resultado)) {$insere = mysql_query("INSERT INTO tabela2 (nome,icq,msn,idade,login,senha) values ('$r[nome]','$r[icq]','$r[msn]','$r[idade]','$r[login]','$r[senha]')")}

É isso? :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa valeu pela ajuda e descupa responder. Eu fiz do jeito q você falou e ta dando o seguinte erro:

 

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '@vamopr.com.br,BMF 2003,Cortesias,2004-01-12)' at line 1

<?  while ($linhas=mysql_fetch_array($resultado) or die(mysql_error())) { //abre while  ?>  <tr>     <td> <div align="center">         <?=$linhas["nome"];?>      </div></td>    <td> <div align="center">         <?=$linhas["email"];?>      </div></td>    <td> <div align="center">         <?=$linhas["promocao"];?>      </div></td>    <td> <div align="center">         <?=$linhas["premio"];?>      </div></td>  </tr>  <?   $sql2="Insert Into sorteados(nome,email,promocao,premio,data_sorteio)";  $sql2.="values(".$linhas["nome"].",".$linhas["email"].",".$linhas["promocao"].",".$linhas["premio"].",".$data.")";  $result=mysql_query($sql2,$conexao);  } //fecha while
Isto esta acontecendo depois q eu adicionei o que você sugeriu, so q eu nao consigo ver o erro.

 

Grato

Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites
<? while ($linhas=mysql_fetch_array($resultado) or die(mysql_error())) { //abre while ?> <tr>    <td> <div align="center">        <?=$linhas["nome"];?>     </div></td>   <td> <div align="center">        <?=$linhas["email"];?>     </div></td>   <td> <div align="center">        <?=$linhas["promocao"];?>     </div></td>   <td> <div align="center">        <?=$linhas["premio"];?>     </div></td> </tr> <?  $sql2="Insert Into sorteados(nome,email,promocao,premio,data_sorteio)"; $sql2.="values('$linhas[nome]','$linhas[email]','$linhas[promocao]','$linhas[premio]','$data')"; $result=mysql_query($sql2,$conexao); } //fecha while
Tenta assim. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei assim do jeito q você postou primeiro, so que da o mesmo erro. Dai eu tentei concatenar pra ver se funciona, so q continua com o mesmo erro. :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce tah dando copy no codigo dele? pq se voce deu copy tem que aparecer todas as ' '

 

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '@vamopr.com.br,BMF 2003,Cortesias,2004-01-12)' at line 1

 

acima depois do @ n tem mais ' deve ter algum erro, voce copiou ou digitou?

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.