anapm 0 Denunciar post Postado Dezembro 12, 2007 Olá pessoal sou nova aqui no fórum..... eu estou com um problema em flash tenho que enviar uma variavel por array só que não sei como faz.... tenho este código: function grava_nr_vaga(){ //busca numero da vaga gate2 = new LoadVars(); gate2.sqlcomando = 136; gate2.var001 = nr_requisicao.text; gate2.sendAndLoad("gatesql.php",gate2,"POST"); gate2.onLoad = retorna_nr_vaga; } //ESTA FUNCAO QUE ESTA COM ERRO POIS ELA NAO RETORNA O NUMERO DA VAGA... ELA MOSTRA O ARRAY COMO UNDEFINED function retorna_nr_vaga(){ // AQUI O ERRO numero_da_vaga = new Array(); var i = 0; while(i<qt_vagas.text){ numero_da_vaga.addItem({vaga:gate2["NR_VAGA"+i]}); i++; } insere_situacoes(); } function insere_situacoes(){ var i = 0; while(i<qt_vagas.text){ //insere em sip_situacoes_vaga gate3 = new LoadVars(); gate3.sqlcomando = 137; gate3.var001 = numero_da_vaga.vaga; gate3.var002 = _level0.cd_empresa.text; gate3.var003 = cd_usuario.text; gate3.sendAndLoad("gatesql.php",gate3,"POST"); j=1; //insere em sip_estagios_vagas while(j<=2){ gate4 = new LoadVars(); gate4.sqlcomando = 138; gate4.var001 = numero_da_vaga.vaga; gate4.var002 = j; gate4.var003 = cd_usuario.text; gate4.sendAndLoad("gatesql.php",gate4,"POST"); j++; } i++; } //update em id_internet para 'N' gate5 = new LoadVars(); gate5.sqlcomando = 139; gate5.var001 = nr_requisicao.text; gate5.sendAndLoad("gatesql.php",gate5,"POST"); gate5.onLoad = mensagem_final; } SE ALGUEM SOUBER COMO ARRUMAR AQUELA FUNÇÃO FICARIA MTO GRATA http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Dezembro 12, 2007 a classe Array não tem o método addItem(), troque por push() que deve funcionar []´s Compartilhar este post Link para o post Compartilhar em outros sites
anapm 0 Denunciar post Postado Dezembro 12, 2007 eu troquei pelo push() mas mesmo assim continua dando erro de variavel UNDEFINED...=( se tiver outra sugestao =D Compartilhar este post Link para o post Compartilhar em outros sites
anapm 0 Denunciar post Postado Dezembro 13, 2007 OUTRA DUVIDA *-) eu gostaria de imprimir na tela o valor desta variavel para ver se esta jogando o valor e tals..... eu estou fazendo assim eh o metodo certo?? criei um dynamic text e coloquei o nome da Var:erro function retorna_nr_vaga(){ // AQUI O ERRO numero_da_vaga = new Array(); var i = 0; while(i<qt_vagas.text){ numero_da_vaga.push({vaga:gate2["NR_VAGA"+i]}); i++; } erro = "vaga2:" + numero_da_vaga; insere_situacoes(); } =D affe q coisinha mais complicadinha =( Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Dezembro 13, 2007 se a caixa estiver no palco principal, testa assim: _root.erro = "vaga2:" + numero_da_vaga; []´s Compartilhar este post Link para o post Compartilhar em outros sites
anapm 0 Denunciar post Postado Dezembro 13, 2007 EU COLOQUEI: _root.erro = "vaga2:" + numero_da_vaga; e imprimiu no campo erro: vaga2:[object Object] =S Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Dezembro 13, 2007 testa assim: _root.erro = "vaga2:" + numero_da_vaga.toString(); []´s Compartilhar este post Link para o post Compartilhar em outros sites
anapm 0 Denunciar post Postado Dezembro 13, 2007 MOSTROU A MESMA COISA: OBJECT OBJECT Compartilhar este post Link para o post Compartilhar em outros sites
anapm 0 Denunciar post Postado Dezembro 13, 2007 VOU PUBLICAR DE NOVO O CODIGO QUE É ONDE QUE ESTA DANDO ERRO.... SO EXPLICANDO DA ONDE Q VEM O NR_VAGA.... ele faz um select no BD e retorna o NR_VAGA eu testo no BD funciona certinho .... pra mim o codigo ta correto mas nao sei oq tem q nao funciona =( function grava_nr_vaga(){ //busca nurmero da vaga gate2 = new LoadVars(); gate2.sqlcomando = 136; // CAPTURA O NR_VAGA DO BD (select NR_VAGA from sip_vagas where nr_requisicao = $var001 order by nr_vaga desc) gate2.var001 = nr_requisicao.text; gate2.sendAndLoad("gatesql.php",gate2,"POST"); gate2.onLoad = retorna_nr_vaga; } function retorna_nr_vaga(){ numero_da_vaga = new Array(); var i = 0; while(i<qt_vagas.text){ numero_da_vaga.push({vaga:gate2["NR_VAGA"+i]}); _root.erro = "vaga:" + numero_da_vaga.toString(); i++; } insere_situacoes(); } Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Dezembro 13, 2007 faça esses dois testes: testa quantos elemento tem no array, depois do laço ACTIONSCRIPT while(i<qt_vagas.text){numero_da_vaga.push({vaga:gate2["NR_VAGA"+i]}); i++; } _root.erro = "N vaga:" + numero_da_vaga.length; para ver o conteúdo do array ACTIONSCRIPT while(i<qt_vagas.text){numero_da_vaga.push(gate2["NR_VAGA"+i]); i++; } _root.erro = "vagas:" + numero_da_vaga.toString();; []´s Compartilhar este post Link para o post Compartilhar em outros sites
anapm 0 Denunciar post Postado Dezembro 13, 2007 para o primeiro teste: ele retorna certo o numero de vagas: depende qtas vagas se digita mas esta correta... _root.erro = "N vaga:" + numero_da_vaga.length;[/actionscript] E PARA O SEGUNDO TESTE ELE MOSTRA: undefined, undefined while(i<qt_vagas.text){ numero_da_vaga.push(gate2["NR_VAGA"+i]); i++; } _root.erro = "vagas:" + numero_da_vaga.toString(); =S Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Dezembro 13, 2007 o que deve estar errado é o seu php, poste ai a parte que você imprime os dados nele Compartilhar este post Link para o post Compartilhar em outros sites
anapm 0 Denunciar post Postado Dezembro 13, 2007 ESTE É O ARQUIVO gatesql.php PHP $comando = 'select ds_sql,id_comando,nr_sequencia from ewp_comandos_sql where pk_comandos_sql='.$_REQUEST['sqlcomando'].' order by nr_sequencia'; //---------- busca o comando sql solicidato ---------// $c = $conexao->Prepare($comando); $cursor_comandos = $conexao->Execute($c); $fd = fopen("gatesql.txt","w"); fwrite($fd,"-----------------------------busca comando---------v1.2-----------"."n"); fwrite($fd,$comando."n"); if (!$cursor_comandos) { echo("&ret_err=".$conexao->ErrorMsg()."&ret_qtd=0"); // } else { ////////////////// gera as variaveis de saida /////////////////// if ($cursor_comandos->RecordCount() > 0) { #gethostbyaddr($REMOTE_HOST) fwrite($fd,"Nome da maquina: ".$HTTP_SERVER_VARS['HTTP_CLIENT_IP']."n"); fwrite($fd,"Quantidade de Comandos a executar: ".$cursor_comandos->RecordCount()."n"); $qt_comandos = 0; while ($qt_comandos < $cursor_comandos->RecordCount()) { $registro = $cursor_comandos->FetchRow(); $cmdsql = $registro[0]; // RECUPERA O COMANDO SQL A SER EXECUTADO $idcmd = $registro[1]; // RECUPERA O TIPO DE COMANDO $seq = $registro[2]; // RECUPERA O TIPO DE COMANDO fwrite($fd,"Executando comando nr............: ".$_REQUEST['sqlcomando']." - ".$seq."n"); fwrite($fd,"---------------------------comando recuperado--------------------"."n"); fwrite($fd,$cmdsql."n"); /////////// efetua a substituicao de variaveis //////////////////// while (strpos(strtolower($cmdsql),'$var') > 0) { $valor = $_REQUEST[substr($cmdsql,(strpos(strtolower($cmdsql),'$var')+1),6)]; if (strlen($valor) == 0) { $valor = 'null'; } $cmdsql = str_replace(substr($cmdsql,strpos(strtolower($cmdsql),'$var'),7),$valor,$cmdsql); $cmdsql = str_replace('"',"'",$cmdsql); $cmdsql = str_replace("'null'",'null' ,$cmdsql); } fwrite($fd,"---------------comando apos substituicao de variaveis------------"."n"); fwrite($fd,$cmdsql."n"); if ($idcmd == 'O') { // se for sistema operacional exec($cmdsql); echo("&ret_err=OK&ret_qtd=0"); } else { ////// executa o comando solicitado ///////////////// $cmd_sql = $conexao->Prepare($cmdsql); $cursor = $conexao->Execute($cmd_sql); if (!$cursor) { //echo("&ret_err=(".$conexao->ErrorNo().") ".$conexao->ErrorMsg()."&ret_qtd=0"); echo("&ret_err=".$conexao->ErrorMsg()."&ret_qtd=0"); } else { if ($idcmd == 'S') // se for comando select { ////////////////// gera as variaveis de saida /////////////////// if ($cursor->RecordCount() > 0) { $linha = 0; $ret = '&ret_err=OK&ret_qtd='.$cursor->RecordCount(); $retorno = ''; while ($linha < $cursor->rowcount()) { $coluna = 0; $retorno = ''; while ($coluna < $cursor->_numOfFields) { $field = $cursor->FetchField($coluna); $retorno = $ret.$retorno.'&'.$field->name.$linha."=".$cursor->fields[$coluna]; $coluna++; $ret = ''; } echo($retorno); $linha++; $cursor->MoveNext(); } } else { echo('&ret_err=OK&ret_qtd=0'); } } else { //////////////////// indica a quantidade de linhas afetadas ////////////// //atualizados = $conexao->Affected_rows(); // echo("&ret_err=".$conexao->ErrorMsg()."&ret_qtd=0"); $cursor = $conexao->Execute('commit'); if (!$cursor) { echo("&ret_err=".$conexao->ErrorMsg()."&ret_qtd=0"); } else { echo("&ret_err=OK&ret_qtd=0"); } } } $cursor->Close(); } $qt_comandos = $qt_comandos + 1; //$cursor_comandos->MoveNext(); } } else { echo("&ret_err=Comando nao cadastrado....&ret_qtd=0"); // } } $cursor_comandos->Close(); $conexao->Close(); fclose($fd); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Dezembro 13, 2007 se você executar essa pagina gatesql.php no navegador, passando o parâmetro: gatesql.php?sqlcomando=136; o que ele imprime? Compartilhar este post Link para o post Compartilhar em outros sites
anapm 0 Denunciar post Postado Dezembro 13, 2007 imprimi isto: &ret_err=OK&ret_qtd=0 o link : http://www.rhbrasil.com.br/rhonline_teste/...?sqlcomando=136 Compartilhar este post Link para o post Compartilhar em outros sites
anapm 0 Denunciar post Postado Dezembro 13, 2007 JA RESOLVIII OBAAAAAAAAAAAAA MTOOOOOO OBRIGADA =D =** Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Dezembro 13, 2007 como eu pensei o erro tá no PHP, ele não está imprimindo nada, a consulta SQL não retorna nenhum campo veja direito o por que disso, não posso te ajudar nessa parte ja que mexe com PHP, mas verifique o código que esta abaixo desse comentario: ////////////////// gera as variaveis de saida /////////////////// []´s Compartilhar este post Link para o post Compartilhar em outros sites
anapm 0 Denunciar post Postado Dezembro 13, 2007 DEU CERTO O ERRO ESTAVA NO BD MESMO EM COISAS QUASE IMPERCPTIVEIS... MTO OBRIGADA =** Compartilhar este post Link para o post Compartilhar em outros sites