NinoSPFC 0 Denunciar post Postado Julho 20, 2007 Galera estou montando um formulario de cadastro estilo trabalhe conosco.. E tem o campo Informática onde o usuário ira selecionar os conhecimentos dele... A parte do formulário está assim... select name="informatica" id="informatica" size="5" multiple="multiple"> <option value="W">Word</option> <option value="E">Excel</option> <option value="P">Power Point</option> <option value="I">Internet</option> </select> E no banco estou utilizando o tipo set para o campo informatica.. só que quando ele salva os dados só manda um... O processo para salvar os dados no banco estou fazendo assim... <?$host = "localhost"; # Endereço do servidor MySQL$usuario = "xxxx"; # Nome de usuário do MySQL $passwd = "lxxxx"; # Senha do MySQL$bd = "holofote"; # Nome do Banco de Dados$tbl="trabalhe"; // não altere esta variável# Conexão com o BD;$conexao = mysql_connect("$host", "$usuario", "$passwd") or die ("Não foi possível conectar ao servidor Mysql");$db = mysql_select_db("$bd", $conexao) or die ("Não foi possível selecionar a base de dados");$cac=mysql_query("insert into $tbl (informatica) values ('$informatica')") or die (mysql_error());echo"<script language=javascript>alert('Operação efetuada com sucesso!')</script>";echo"<script language=javascript>location.href='java script:history.back(-1)'</script>";?> Só que não guarda no banco mais de 2 escolhas... Alguem sabe como solucionar? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 20, 2007 Define o nome do select como um array: select name="informatica[]" E use um loop para resgatar os valores. Por exemplo: foreach ($_POST['informatica'] as $opcao) { echo $opcao . "<ber />"; } Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
NinoSPFC 0 Denunciar post Postado Julho 20, 2007 Não ta rolando.. No meu form deixei assim <select name="informatica[]" id="informatica" size="5" multiple="multiple"> <option value="informatica[W]">Word</option> <option value="informatica[E]">Excel</option> <option value="informatica[P]">Power Point</option> <option value="informatica[I]">Internet</option> </select> E na pagina onde executa a gravação dos dados está assim.. <?$host = "localhost"; # Endereço do servidor MySQL$usuario = ""; # Nome de usuário do MySQL $passwd = "l"; # Senha do MySQL$bd = ""; # Nome do Banco de Dados$tbl="trabalhe"; // não altere esta variável# Conexão com o BD;$conexao = mysql_connect("$host", "$usuario", "$passwd") or die ("Não foi possível conectar ao servidor Mysql");$db = mysql_select_db("$bd", $conexao) or die ("Não foi possível selecionar a base de dados");foreach ($_POST['informatica'] as $informatica){ echo $informatica . "<br />";}$cac=mysql_query("insert into $tbl (informatica) values ('$informatica',')") or die (mysql_error());echo"<script language=javascript>alert('Operação efetuada com sucesso!')</script>";echo"<script language=javascript>location.href='java script:history.back(-1)'</script>";?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 20, 2007 Fiz aquele código só para exemplificar. Você deve criar o valor do campo informatica dentro desse loop, inserindo as vírgulas que delimitam cada opção. Compartilhar este post Link para o post Compartilhar em outros sites
NinoSPFC 0 Denunciar post Postado Julho 20, 2007 Beraldo..desculpe mais tem como você me passar um exemplo de como devo realizar isso?valeu mesmo.. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 20, 2007 $opcoes = array("hardware", "sofware", "programação", "software livre"); $campo = ""; for ($i = 0; $i < count($opcoes); $i++) { $campo .= $opcoes[$i] . (($i == (count($opcoes) - 1)) ? "" : ","); } echo $campo; $campo fica com os valores vindos do formulário e armazenados em $opcoes. ;) Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
NinoSPFC 0 Denunciar post Postado Julho 20, 2007 Valeu Beraldo consegui da seguinte forma... foreach($_POST["informatica"] as $item){$it.= $item.",";} valewu mesmo.. Compartilhar este post Link para o post Compartilhar em outros sites