Autor Tópico: [RESOLVIDO] Carregar comando sql do campo select dinamicamente  (Lida 8352 vezes)

Fernando.Oliveira

  • Intermediário
  • ***
  • Mensagens: 248
[RESOLVIDO] Carregar comando sql do campo select dinamicamente
« Online: Agosto 01, 2012, 05:33:24 pm »
alguém teria uma forma de carregar o sql do campo select dinamicamente apartir de outro campo, ou seja refazer o sql do campo.

exemplo.

original: select id, descricao from table

alterar para select id, descricao from table where condicao and condicao
« Última modificação: Agosto 03, 2012, 12:03:11 pm por Fernando.Oliveira »
Att,
Skype: fernando.comf
GTalk : fernandomacoli
Scriptcase V6

Dário Andrade Santos

  • Intermediário
  • ***
  • Mensagens: 172
    • Email
Re:Carregar comando sql do campo select dinamicamente
« Responder #1 Online: Agosto 01, 2012, 05:38:52 pm »
Vc pode usar o evento Ajax "EVENTS onChange" que ao carregar o valor de um campo ele recarrega um outro campo do tipo select

Dário Andrade Santos
SC v8.1.006  - Mysql - Windows 7 Pro
São Paulo - SP

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Carregar comando sql do campo select dinamicamente
« Responder #2 Online: Agosto 01, 2012, 08:52:07 pm »
Acredito que só via jquery, o campo é do tipo select?

Fernando.Oliveira

  • Intermediário
  • ***
  • Mensagens: 248
Re:Carregar comando sql do campo select dinamicamente
« Responder #3 Online: Agosto 02, 2012, 08:33:17 am »
Dário isso já foi feito e não funcionou.

Haroldo, sim é do tipo select.
Teria como disponibilizar um exemplo?
Att,
Skype: fernando.comf
GTalk : fernandomacoli
Scriptcase V6

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Carregar comando sql do campo select dinamicamente
« Responder #4 Online: Agosto 02, 2012, 08:59:18 am »
Código: [Selecionar]
$_htmlcode='<option value="" >Selecione um Cidade</option>';
$_sql="SELECT distinct(cd) from localidades where e='{estado}' order by cd";
sc_select(rs,$_sql);
if ({rs}!==False){
     $_selected=({cidade}==$rs->fields[0])?"Selected":"";
     while (!$rs->EOF){
          $_htmlcode.='<option value="'.$rs->fields[0].'" '.$_selected.'>'.$rs->fields[0].'</option>';
          $rs->MoveNext();
     }
     $rs->Close();
}

sc_ajax_javascript("ElementoHtml",Array("id_sc_field_cidade",$_htmlcode));

Função javascript:

 function ElementoHtml(id, htmlcode)

Código: [Selecionar]
$('#'+id).html(htmlcode);

Fernando.Oliveira

  • Intermediário
  • ***
  • Mensagens: 248
Re:Carregar comando sql do campo select dinamicamente
« Responder #5 Online: Agosto 02, 2012, 09:51:14 am »
Desculpe a ignor...., mas onde coloco os codigos?
Att,
Skype: fernando.comf
GTalk : fernandomacoli
Scriptcase V6

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Carregar comando sql do campo select dinamicamente
« Responder #6 Online: Agosto 02, 2012, 04:09:22 pm »
na onchange do "outro campo".
e no metodojavascript.

alguém teria uma forma de carregar o sql do campo select dinamicamente apartir de outro campo, ou seja refazer o sql do campo.

exemplo.

original: select id, descricao from table

alterar para select id, descricao from table where condicao and condicao

Fernando.Oliveira

  • Intermediário
  • ***
  • Mensagens: 248
Re:Carregar comando sql do campo select dinamicamente
« Responder #7 Online: Agosto 03, 2012, 10:00:12 am »
Haroldo, acho que não entendi direito ou fiz algo de errado.

Bom no evento onchange(Eventos Ajax) do meu campo coloquei:


$_htmlcode='<option value="" >Selecione o Conteúdo</option>';
$_sql="SELECT id_objetivo_contato, descr_objetivo
      FROM clientes_objetivos_contatos
      WHERE ATIVO='S'  AND tipo_objetivo <> 6";

sc_select(rs,$_sql);

if ({rs}!==False){
     $_selected=({objetivo_contato}==$rs->fields[0])?"Selected":"";
     while (!$rs->EOF){
          $_htmlcode.='<option value="'.$rs->fields[0].'" '.$_selected.'>'.$rs->fields[0].'</option>';
          $rs->MoveNext();
     }
     $rs->Close();
}

sc_ajax_javascript("objetivoContato",Array("id_sc_field_objetivo_contato",$_htmlcode));

Criei um Metodo Javascript com o nome: objetivoContato  e  dentro :

$('#'+id).html(htmlcode);

Esta Correto o que fiz?

Não esta carregando o campo.
« Última modificação: Agosto 03, 2012, 10:48:11 am por Fernando.Oliveira »
Att,
Skype: fernando.comf
GTalk : fernandomacoli
Scriptcase V6

Fernando.Oliveira

  • Intermediário
  • ***
  • Mensagens: 248
Re:Carregar comando sql do campo select dinamicamente
« Responder #8 Online: Agosto 03, 2012, 11:08:22 am »
opa...
Funcionou, descobri ao criar o metodo não criei os parametros.

agora uma outra coisa os dados que contém  acentução nçao estão exibindo corretamente.

ex. Avaliação esta avaliao não exibiu o çã.
Att,
Skype: fernando.comf
GTalk : fernandomacoli
Scriptcase V6

Fernando.Oliveira

  • Intermediário
  • ***
  • Mensagens: 248
Re:Carregar comando sql do campo select dinamicamente
« Responder #9 Online: Agosto 03, 2012, 12:02:53 pm »
Resolvido

colocado $_htmlcode = utf8_encode($_htmlcode);
Att,
Skype: fernando.comf
GTalk : fernandomacoli
Scriptcase V6

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:[RESOLVIDO] Carregar comando sql do campo select dinamicamente
« Responder #10 Online: Agosto 03, 2012, 02:46:08 pm »
Ótimo.
É isso aí.

Fernando.Oliveira

  • Intermediário
  • ***
  • Mensagens: 248
Re:[RESOLVIDO] Carregar comando sql do campo select dinamicamente
« Responder #11 Online: Agosto 03, 2012, 03:24:53 pm »
Criei uma biblioteca para fazer a chamada em qualquer formulário.

Obs.: criei com SC_LOOKUP, mas pode ser o SC_SELECT como Foi passado inicialmente pelo Haroldo.

<?php
function CampoSelect($sql,$campo,$NomeMetodo){   
/* Fernando Oliveira 03.08.12

   $NomeMetodo =  Criar na aplicação um metodo javascript e passar o nome do mesmo nesta variavel.
               obs. usar o icone f(x) para criar os parametros id e htmlcode para o metodo,
               Dentro do metodo colocar  $('#'+id).html(htmlcode);
               
   $sql = Recebe o sql que será executado no campo.
   $campo = Recebe o nome do campo.
   
   Abaixo exemplo:
   OBS.: CHAMAR DENTRO DE UM EVENTO AJAX
   
   $sql = "SELECT id_objetivo_contato, descr_objetivo
         FROM clientes_objetivos_contatos
         WHERE ATIVO='S'  AND tipo_objetivo < 2";
   
   $campo = "objetivo_contato";
   $NomeMetodo = "objetivoContato";
   sc_include('campo_select.php'); // Não esquecer de marcar em programação a biblioteca.
   CampoSelect($sql,$campo,$NomeMetodo);
   
   
*/   

   $_htmlcode='<option value="" > Selecione o Conte&uacute;do </option>';
   sc_lookup(DataSet,$sql);
   $campo_ = "{".$campo."}";
   if ({DataSet}!==False){
      $_selected=($campo_=={DataSet[0][0]})?"Selected":"";
      $cont = count({DataSet});
      for($x=0;$x<$cont;$x++){
         
          $id       = {DataSet[$x][0]};
          $descricao  = {DataSet[$x][1]};   
         
          $_htmlcode.='<option value="'.$id.'" '.$_selected.'>'.$descricao.'</option>';
       }
      $_htmlcode = utf8_encode($_htmlcode); // Corrigi os campos que contem acentuação
   }
   $id_sc_field = "id_sc_field_".$campo;

   sc_ajax_javascript($NomeMetodo,Array($id_sc_field,$_htmlcode));
      

}   
   
?>
Att,
Skype: fernando.comf
GTalk : fernandomacoli
Scriptcase V6

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:[RESOLVIDO] Carregar comando sql do campo select dinamicamente
« Responder #12 Online: Outubro 20, 2012, 03:47:49 pm »
Desculpe reabrir este topico, mas
estou precisando exatamente deste exemplo mensionado.

Mas, nao estou conseguindo aplicar o mesmo  !?

*duvidas
1- o campo que preciso preencher vai ser tipo=select ?
2- ja tenho um lookup dentro dele, tenho que deixa em branco?
3- tem como acrescentar cor ao item selecionado ?

« Última modificação: Outubro 20, 2012, 06:54:06 pm por pessanha »

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:[RESOLVIDO] Carregar comando sql do campo select dinamicamente
« Responder #13 Online: Outubro 21, 2012, 12:13:28 pm »
aqui o exemplo aplica-se ao campo do tipo select.
Não interessa se vai ter lookup manual ou automático, pois a intenção e alimenta-lo dinamicamente.

Na v5 funcionava direitinho, na v6 acho que é preciso incorporar a biblioteca jquery para funcionar, pois não vem mais por default (eu acho).