ronny 0 Denunciar post Postado Outubro 24, 2005 Olá galera.....tenho um pequeno problema que gostaria de pedir a ajuda de vcs..... Tenho dois pares de select q transferem valores entre si: SELECT1 ====> SELECT2 Config do Select1: <select size="4" name="num_disp" multiple>Config do Select2: <select size="4" name="sobre[]" id="teste" multiple>SELECT3 ====> SELECT4 Config do Select3: <select size="4" name="num_disp1" multiple>Config do Select4: <select size="4" name="mat[]" id="teste2"multiple>Após postar o form os valores do array sao aramazenados em: $sobreaviso=$_POST['sobre'];$material=$_POST['mat'];Porém, apenas a variável $sobreaviso guarda os valores enviados pelo <form>......A outra fica vazia...... Alguém poderia me ajudar a resolver este fato???Valeu!!!! Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Outubro 24, 2005 tenta fazer um for na var e ve a resposta! ex:$area = $_POST['mat'];$n= sizeof($area); for ($i=0; $i<$n; $i++) { echo $area[$i].'<br>'; }; Compartilhar este post Link para o post Compartilhar em outros sites
ronny 0 Denunciar post Postado Outubro 24, 2005 pois eh rockbill...eu ja tinha tentado isso antes..para as duas variaveis...mas o script so mostra os valores de 1....a outra nao fica nada!!!!!....tem outra sugestão!?valeu!! Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Outubro 24, 2005 pois eh rockbill...eu ja tinha tentado isso antes..para as duas variaveis...mas o script so mostra os valores de 1....a outra nao fica nada!!!!!....tem outra sugestão!?valeu!!poe o pedaço do codigo do SELECT multiple pros colegas darem uma olhada, fica melhor! Compartilhar este post Link para o post Compartilhar em outros sites
ronny 0 Denunciar post Postado Outubro 24, 2005 ok....nao tá 100% arrumado mas acho q dá pra entender: os select sao alimentados pelo BD: SELECT1: <select size="4" name="num_disp" multiple> <? $sql = "SELECT * FROM servidores ORDER BY cargo"; $resp = mysqlexecuta($id,$sql); while ($op = mysql_fetch_array($resp)) { ?><option value=<? echo $op['cargo']."".$op['nguerra']?>><? echo $op['cargo']."".$op['nguerra']?></option> <? } mysql_free_result($resp); ?> </select></td> SELECT2: <select size="4" name="sobre[]" id="teste" multiple></select> SELECT3: <select size="4" name="num_disp1" multiple> <? $sql = "SELECT * FROM material ORDER BY material"; $rs1 = mysqlexecuta($id,$sql); while ($op1 = mysql_fetch_array($rs1)) { ?> <option value=<? $op1['material']?>><? echo $op1['material']?></option> <? } mysql_free_result($rs1); ?> </select>SELECT4: <select size="4" name="mat[]" id="teste2" multiple></select> talvez fiz algo errado ou falta e nao estou conseguindo ver.....Vejam se conseguem me ajudar nesse misterio!!!valeu!!!! segue tbm o codigo js: function adicionaItem(campoOrig, campoDest) { x = campoOrig.value; if (x == "") { alert('Selecione um item!'); } ListaDisponiveis = campoOrig; ListaAcordo = campoDest; var len = ListaAcordo.length; for (var i=0; i < ListaDisponiveis.length; i++) { if ( (ListaDisponiveis.options[i] != null) && (ListaDisponiveis.options[i].selected)) { ListaAcordo.options[len] = new Option(ListaDisponiveis.options[i].text, ListaDisponiveis.options[i].value); ListaAcordo.options[len].selected = true //incluida p/ selecionar valores do select len++; ListaDisponiveis.options[i] = null; i--; } }} Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Outubro 24, 2005 ronny, o select 4 não recebe valor, não entendi muito bem! ele é preenchido por alguma ação!? Compartilhar este post Link para o post Compartilhar em outros sites
ronny 0 Denunciar post Postado Outubro 24, 2005 nem o select2 e nem o select4 recebem inicialmente.....pois o usuario ira jogar os valores para eles atraves dos outros select:SELECT1 ====> SELECT2SELECT3 ====> SELECT4será que expliquei direito??...valeu!!! Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Outubro 25, 2005 nem o select2 e nem o select4 recebem inicialmente.....pois o usuario ira jogar os valores para eles atraves dos outros select:SELECT1 ====> SELECT2SELECT3 ====> SELECT4será que expliquei direito??...valeu!!!bem, creio que você tem q fazer uma chamada com a função em JS para o user jogar os dados para lá, ex:<input type="button" value=">>" onclick="adicionaItem(num_disp, mat)">tenta ai pra ver... Compartilhar este post Link para o post Compartilhar em outros sites
ronny 0 Denunciar post Postado Outubro 25, 2005 companheiro esses comando ja estao no codigo para a tranf dos valores entre os select, mas nao funciona: SELECT1 ====> SELECT2 <input type="button" name="vai" onclick="adicionaItem(cadastro.num_disp,cadastro.teste);" value="=>" ><input type="button" name="vem" onclick="adicionaItem(cadastro.teste,cadastro.num_disp);" value="<="> SELECT3 ====> SELECT4 <input type="button" name="vai1" onclick="adicionaItem(cadastro.num_disp1,cadastro.teste2);" value="=>"><input type="button" name="vem2" onclick="adicionaItem(cadastro.teste2,cadastro.num_disp1);" value="<="> Cara oq posso fazer???tem outra ideia!?valeu!! Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Outubro 25, 2005 kra, eu testei um pedaço e está funcionando! veja o ex q testei aqui: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><script>function adicionaItem(campoOrig, campoDest){ x = campoOrig.value; if (x == "") { alert('Selecione um item!'); } ListaDisponiveis = campoOrig; ListaAcordo = campoDest; var len = ListaAcordo.length; for (var i=0; i < ListaDisponiveis.length; i++) { if ( (ListaDisponiveis.options[i] != null) && (ListaDisponiveis.options[i].selected)) { ListaAcordo.options[len] = new Option(ListaDisponiveis.options[i].text, ListaDisponiveis.options[i].value); ListaAcordo.options[len].selected = true //incluida p/ selecionar valores do select len++; ListaDisponiveis.options[i] = null; i--; } }}</script><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body> <form action="<?echo $PHP_SELF;?>" method="POST" name="form1" ><select size="4" name="num_disp1" multiple> <option value="PENSAR">PENSAR</option> <option value="ENTENDER">ENTENDER</option> <option value="RESPIRAR">RESPIRAR</option> <option value="CONCENTRAR">CONCENTRAR</option> </select> <input type="button" value=">>" onClick="adicionaItem(num_disp1, teste2)"><select size="4" name="mat[]" id="teste2" multiple></select> <br><input type="submit" name="Submit" value="Enviar"></form><?php$area = $_POST['mat'];$n= sizeof($area); for ($i=0; $i<$n; $i++) { echo $area[$i].'<br>'; };?></body></html> veja se as info estao sendo preenchidas do BD ao campo value de cada select! Compartilhar este post Link para o post Compartilhar em outros sites
ronny 0 Denunciar post Postado Outubro 25, 2005 companheiro assim ta certo mesmo....apenas pra 2 select funciona.....agora qdo coloco os 4 nao dá.... SELECT3 ====> SELECT4 qdo o user insere do select3 p/ o select4, este vai sempre com o valor " " após a postagem..... ex.: se eu insiro 3 valores do select3 p/ o select4 ele grava em um array com 3 elementos, porem com valor " ": $material=$_POST['mat'];$n= sizeof($material);echo $n;//aki ele me mostra a quantidade de valores postados, no caso 3....... todos " " oq você acha??? Compartilhar este post Link para o post Compartilhar em outros sites
ronny 0 Denunciar post Postado Outubro 26, 2005 consegui resolver....faltava um 'echo' so select3....e nao percebi....obrigado pela ajuda.... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites