Jump to content
Fórum Script Brasil

Penny Lane

Membros
  • Posts

    21
  • Joined

  • Last visited

About Penny Lane

Contatos

Perfil

  • Gender
    Female
  • Location
    Floripa

Penny Lane's Achievements

0

Reputation

  1. Basicamente o que eu quero: 1) fazer uma consulta numa tabela; 2) Eu faço um while em uma outra consulta passando como parametro resultados da consulta 1; 3) Com o resultado do while, eu altero registro por registro um campo dessa tabela que atenda as condições anteriores... ajudou? :mellow:
  2. Pessoal, meu problema é o seguinte: Eu tenho uma tabela de produtos onde tenho alguns dados. Eu preciso fazer a seguinte consulta para então alterar os registros retornados: 1) Primeira consulta pego alguns campos para consulta no sistema A onde o campo Validacao seja = 1 2) Na segunda consulta eu pego os campos do mesmo sistema A, mas a condição é que tenha o campo Validacao != 1 e onde alguns outros campos são iguais ao resultado da primeira consulta. Eu preciso fazer isso, pois esse campo Validacao, indica no meu cadastro quando um produto pode ficar disponível para uso (Validacao = 1) e quando ele está indisponível para uso (Validacao != 1). Mas eu tenho aqui alguns funcionários que esqueceram de alterar esse campo quando cadastraram uns produtos, então tem muitos produtos cadastrados, que podem estar disponíveis, mas que não estão. A condição para estar disponível é que o nome do produto, a classe do produto e o grupo do produto tem que ser o mesmo de algum outro registro já validado. Não sei se fui clara... hehehe mas vou colcar aqui as 2 procedures que criei para fazer a consulta e a alteração na base. Procedure das consultas DELIMITER $$ DROP PROCEDURE IF EXISTS `twoCursor` $$ CREATE PROCEDURE `twoCursor` () BEGIN declare grupoprod, classeprod, idFact, idFact2, idMaster, idSlave, indexM, indexS int default 0; declare nomeprod TEXT; declare masterCursor cursor for Select SQL_CALC_FOUND_ROWS produto.codigo, produto.nome_do_produto, produto.grupo_produto, produto.classe_do_produto from produto where produto.sistema like 'A' and (produto.validacao = 1); declare slaveCursor cursor for Select SQL_CALC_FOUND_ROWS produto.codigo from produto where produto.sistema like 'B' and (produto.validacao != 1 or produto.validacao is null) and (produto.grupo_produto = grupoprod and produto.classe_do_produto = classeprod and produto.nome_do_produto like nomeprod); open masterCursor; set idMaster = (Select FOUND_ROWS()); while indexM<idMaster do fetch masterCursor into idFact, grupoprod, classeprod, nomeprod; open slaveCursor; set idSlave = (Select FOUND_ROWS()); while indexS < idSlave do fetch slaveCursor into idFact2; set @codmat2 = idFact2; call Proc2(@codmat2); set indexS= indexS+1; end while; close slaveCursor; set indexM = indexM + 1; end while; close masterCursor; END $$ DELIMITER; Procedure da alteração CREATE PROCEDURE `Proc2` (codigo int) BEGIN UPDATE produto set produto.validacao = 1 WHERE produto.codigo = @codigo; END Chama procedure call twoCursor; Eu consegui exibir uma vez um código de um produto para ser alterado, mas mesmo assim não foi alterado o registro. Se alguém puder me ajudar com isso.. eu fico muito grata... pois tenho um prazo curto para entrega da base pronta.. mas não estou conseguindo visualizar porque o registro não é alterado.... Desde já agradeço a atenção de todos.
  3. E ae.. alguém pode me ajudar nesse problemão?? :unsure: heim... ninguém ae pode me dar uma luz.. to há um tempão em cima disso.. e não saio do lugar... por favor.. ajudasssssss
  4. essa é a função que vai atualizar os campos... function insereImovelBD() { global $objBanco; $objBanco->alteraBanco(0,"WEB_IMOVEL",$this->getAtributos()); } //Edita os dados de um registro já cadastrado. function editaImovelBD($codI,$codA,$ibLoc,$ibVend,$nmCida,$nmBairr,$dsEnde,$nmEdi,$ibMoEnd,$ibOc,$dsTi,$ibDes,$vlAlDes,$vlVend,$vlIpt,$vlCondm,$nrQuar,$nrSuit,$nrSa,$nrBanh,$ibSaca,$ibArSe,$ibDeEm,$ibGaCe,$ibMo,$ibSeMo,$dsPi,$nrGara,$dsTiVa,$ibPisci,$ibSaFe,$ibInt,$ibPoEl,$dsOni,$nrEl,$nrBlo,$nrAdr,$nrApAdr,$vlArTo,$vlArPri,$vlArUt,$vlArCon,$vlArTe,$dsMe,$dsTopo,$dsPav,$dsPoSo,$dsFa,$dsId,$dsTiAnu,$dsAnu,$dsTiSi,$dsSi) { global $objBanco; $vt['cd_imovel'] = $codI; $campo = array('cd_agencia' => $codA,'ib_locacao' => $ibLoc,'ib_venda' => $ibVend,'nm_cidade' => $nmCida,'nm_bairro' => $nmBairr,'ds_endereco' => $dsEnde,'nm_edificio' => $nmEdi,'ib_mostra-endereco' => $ibMoEnd,'ib_ocupado' => $ibOc,'ds_tipo' => $dsTi,'ib_destaque' => $ibDes,'vl_alu_com_desc' => $vlAlDes,'vl_venda' => $vlVend,'vl_iptu' => $vlIpt,'vl_condominio' => $vlCondm,'nr_quartos' => $nrQuar,'nr_suites' => $nrSuit,'nr_salas' => $nrSa,'nr_banheiros' => $nrBanh,'ib_sacada' => $ibSaca,'ib_area_servico' => $ibArSe,'ib_dep_empregada' => $ibDeEm,'ib_gas_central' => $ibGaCe,'ib_mobiliado' => $ibMo,'ib_semi_mobiliado' => $ibSeMo,'ds_piso' => $dsPi,'nr_garagem' => $nrGara,'ds_tipovaga' => $dsTiVa,'ib_piscina' => $ibPisci,'ib_salao_festas' => $ibSaFe,'ib_interfone' => $ibInt,'ib_portao_elet' => $ibPoEl,'ds_onibus' => $dsOni,'nr_elevador' => $nrEl,'nr_bloco' => $nrBlo,'nr_andares' => $nrAdr,'nr_apto_andar' => $nrApAdr,'vl_area_total' => $vlArTo,'vl_area_privativa' => $vlArPri,'vl_area_util' => $vlArUt,'vl_area_construida' => $vlArCon,'vl_area_terreno' => $vlArTe,'ds_metragem' => $dsMe,'ds_topografia' => $dsTopo,'ds_pavimentacao' => $dsPav,'ds_posicao_solar' => $dsPoSo,'ds_face'=> $dsFa,'ds_idade' => $dsId,'ds_titulo_anuncio' => $dsTiAnu,'ds_anuncio' => $dsAnu,'ds_titulo_site' => $dsTiSi,'ds_site' => $dsSi); $condicao ="cd_imovel = ".$vt['cd_imovel']; $objBanco->alteraBanco(1,"WEB_IMOVEL", $campo, $condicao); }[/codebox] Bom dae seuinte.. tem esse monte de echo ae.. porque eu tava testando pra ver onde dava o erro, enton vou deixar pra vocês verem tb... nessa função, está indo certinho até o "passou aqui 11" depois disso que exibe aquele erro.... [codebox]function alteraBanco($tipo, $tabela, $valores, $complemento=null) { echo ("<br>"); echo ("passou aqui 1"); echo ("<br>"); echo ("<br>"); echo ("<br>"); echo ("TIPO: $tipo");echo ("<br>"); echo ("TABELA: $tabela");echo ("<br>"); print_r ("VALORES: $valores");echo ("<br>"); echo ("COMPLEMENTO: $complemento");echo ("<br>"); $db = $this->conecta(); /** * Valida os parametros $tipo e $valores para evitar eventuais inconcistencias */ echo ("passou aqui 2"); echo ("<br>"); if($tipo >1) { echo ("passou aqui 3"); echo ("<br>"); die("O parametro passado deve ser zero ou um"); } echo ("passou aqui 4"); echo ("<br>"); if(!is_array($valores)) { echo ("passou aqui 5"); echo ("<br>"); die("O parametro passado deve ser um array()"); } /** * Testa se a requisição é de INSERT ou UPDATE */ echo ("passou aqui 6"); echo ("<br>"); if($tipo == 0) // estou inserindo um registro.... { echo ("passou aqui 7"); echo ("<br>"); $insere = $db->autoExecute($tabela, $valores, DB_AUTOQUERY_INSERT); echo ("passou aqui 8"); echo ("<br>"); if (PEAR::isError($insere)) { echo ("passou aqui 9"); echo ("<br>"); die($insere->getMessage()); } } echo ("passou aqui 10"); echo ("<br>"); if($tipo == 1) // estou editando um registro.... { echo ("tipo: $tipo");echo ("<br>"); echo ("tabela : $tabela"); echo ("<br>"); echo ("valores :"); print_r ($valores); echo ("<br>"); echo ("complemento : $complemento"); echo ("<br>"); echo ("passou aqui 11"); echo ("<br>"); $edita = $db->autoExecute($tabela, $valores, DB_AUTOQUERY_UPDATE, $complemento); echo ("passou aqui 12"); echo ("<br>"); if (PEAR::isError($edita)) { echo ("passou aqui 13"); echo ("<br>"); die($edita->getMessage()); } } } veja se com isso já ajuda... eheheh valeussssssssss.
  5. então.. eu num to esquecendo não.. o parâmetro tá lá... Tipo, tava funcionando normal.. parou depois depois que eu inseri mais campos.. mas dae eu já tentei tirar os campos que eu inseri a mais.. e mesmo assim não voltou a funcionar... :blink:
  6. Penny Lane

    O Que Está Errado?

    Alguém ae... To com um problemão.... Não estou conseguindo nem atualizar e nem cadastrar novos registro na minha página, porque o seguinte erro está aparecendo. Warning: ibase_execute() expects parameter 1 to be resource, boolean given in /usr/local/lib/php/DB/ibase.php on line 582 Alguém ae pode me dar uma luz ???? :blink: valeu....
  7. Mistério mesmo.. eu não entendo.. testei o código a manhã inteira.. e do nada ele funciona!!! hahahaha melhor assim.. porque eu já não sabia mais o que fazer.. kkkkkkk
  8. Mais uma vez eu to aqui.. hehehe Bom, com esse código que eu vou postar eu gostaria que ao clicar no botão "Edita", ele me enviasse para uma outra página a verifica.php onde nessa página ela vai ver qual botão que foi clicado e assim por diante.. até aí, ok.. ele tá mandando lá pra página verifica.php.. mas está dando como se eu tivesse escolhido uma opção inválida... Segue o código.... function altCampo(id, nm) { cont = document.getElementById("nroCampos").value; cont++; document.getElementById("nroCampos").value = cont; if(cont >= 2) { alert("Não é permitido atualizar mais de uma foto"); return false; } else { inserido = document.getElementById("campos").innerHTML; document.getElementById("campos").innerHTML = inserido+"<b>Nova Descri&ccedil;&atilde;o:</b>" + "&nbsp;&nbsp;<input name='novaDesc' type='text' id='novaDesc' size='50' maxlength='50' value='"+ nm +"'>" + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + "&nbsp;&nbsp;<input type='submit' value='Edita' name='edita' 'onclick= formim.acao.value='edita'; formim.submit()'>"+ "<br><br>"; } O que pode estar errado???? :blink: Gente.. milagre.. voltei do almoço e o código tava funcionando.... :blink: :blink: :blink: vai entender.....
  9. Ow.. Kerido :blink: ... rs eu num tinha colocado " nem + por isso que não deu.. agora tá belezinha.. posso até sair prqa bebemorar nessa sexta.. uhhhhh valeus.... :lol:
  10. Olha só.. o que eu quero fazer é o seguinte.... pegar o valor da variável nm que foi passado como parâmetro : function altCampo(id, nm) e jogar esse valor no input value do html na função js mesmo. "<input name='descFoto[]' id='descFoto' type='text' value=" nm "class='Boxes' size='70' maxlength='50'>" tipo isso aí em cima.. mas eu sei que não é assim, até porque eu já testei.... hehehhe :lol:
  11. Yeah! resolvido o problema.. na verdade o que estava errado era numa função acima dessa que eu fiz.. legal. tá rodando. valeu mais uma vez galera! :lol:
  12. Tá.. eu declarei a variável fora da função... beleza.. Não sei se já deveria funcionar.. mas ainda não abre a janela no IE function closeWin(text) É pra tirar o text daqui ????? mas dae num vai funcionar... :blink:
  13. Então gente... eu peguei esse código, acho que aqui mesmo nesse fórum... e fiz meu pop_up.. ficou lindo.. mas só funciona no Firefox, no Internet Explorer não.... function popupWin() { text = window.open('novaagencia.php','nova','statusbar=no,scrollbars=yes,toolbar=no,resizable=no,width=378,height=513,left=600,top=135'); setTimeout('closeWin(text)', 5000); // delay 3 seconds before opening } function closeWin(text) { text.close(); // close small window and depart } Alguém me dê uma luz??? :blink:
  14. Oba! valeu Mestre SAM.... era isso mesmo.. porque agora consigo pegar qualquer variável.. dae agora eu quero pegar o valor dessa descrição que foi passado e jogar no value do input do html.. como é? :blink: pode me responder mais essa??? valeus... :P A mais uma coisa que eu tinha me esquecido de falar.. eu consegui usar o código que o mestre SAM postou, mas dessa maneira: $reg .= "<a href=\"java script: altCampo('".$linha['cd_imovel']."', '".$linha['ds_foto']."')\"> sem o ; no final.. ehehhe deixar registrado para aqueles que tiverem a mesma dúvida.. eheheh :lol:
  15. Olá Galera... Bom, estou com um problema aqui no meu código. Na minha página index tem um local que eu faço uma chamada para uma função Javascritp e nessa chamada eu vou ter que passar parametros, certo? O que acontece é que eu não estou conseguindo pegar um parâmetro string. Tipo, se eu coloco uma variváel inteira, a função java script é chama.. se eu coloco uma variável string, nem chama a função... vou colar aqui os códigos.... Abaixo está como é feita a chamada da função javascript. eu quero passar essa variável ds_foto, mas não estou conseguindo. $reg .= "<a href=\"java script: altCampo(".$linha['cd_imovel'].", ".$linha['ds_foto'].")\"> Aqui temos a função javascript que eu criei: function altCampo(id, nm) { cont = document.getElementById("nroCampos").value; cont++; document.getElementById("nroCampos").value = cont; if(cont >= 2) { alert("Não é permitido atualizar mais de uma foto"); return false; } else { inserido = document.getElementById("campos").innerHTML; document.getElementById("campos").innerHTML = inserido+ "<input name='descFoto[]' id='descFoto' type='text' class='Boxes' size='70' maxlength='50'>"+ "<br><br>"; } } Se alguém puder.. me ajude.. é um pouco urgente... eheheh valeus :lol:
×
×
  • Create New...