Yii Framework Forum: Preencher Dropdownlist [Resolvido] - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Preencher Dropdownlist [Resolvido] Rate Topic: -----

#1 User is offline   Bono 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 13-March 12
  • Location:Norte de Portugal

Posted 06 May 2012 - 02:29 PM

Pessoal, pretendo listar todos os materiais depois de escolher o serviço. A minha query:

                $qry='
                select Id, Nome 
                    from materiais mt 
                    where not exists 
                    (Select null 
                    MaterialId 
                    from materiais_servicos ms
                    where ms.MaterialId = mt.Id and ms.ServicoId='.'"'.$_POST['ServicoId'].'")';
                        
		$result = Yii::app()->db->createCommand($qry)->queryAll();


Nao venho pedir ajuda sobre esta query. O que pretendo é preencher a segunda dropdowlist com o resultado desta query.
Tenho a primeira Dropdownlist para escolher o "Servico" e a segunda Dropdownlist irá conter todos os materiais do resultado da query.
Como é que faço para passar o valor do ServicoId para a query e dessa forma preencher a segunda Dropdownlist? Do genero, "onChange o Servico" atualiza a segunda DropdownList (Materiais).
0

#2 User is offline   Bono 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 13-March 12
  • Location:Norte de Portugal

Posted 06 May 2012 - 02:42 PM

View PostVilas, on 06 May 2012 - 02:29 PM, said:

Pessoal, pretendo listar todos os materiais depois de escolher o serviço. A minha query:

                $qry='
                select Id, Nome 
                    from materiais mt 
                    where not exists 
                    (Select null 
                    MaterialId 
                    from materiais_servicos ms
                    where ms.MaterialId = mt.Id and ms.ServicoId='.'"'.$_POST['ServicoId'].'")';
                        
		$result = Yii::app()->db->createCommand($qry)->queryAll();


Nao venho pedir ajuda sobre esta query. O que pretendo é preencher a segunda dropdowlist com o resultado desta query.
Tenho a primeira Dropdownlist para escolher o "Servico" e a segunda Dropdownlist irá conter todos os materiais do resultado da query.
Como é que faço para passar o valor do ServicoId para a query e dessa forma preencher a segunda Dropdownlist? Do genero, "onChange o Servico" atualiza a segunda DropdownList (Materiais).



O Objetivo é atualizar o $data como o resultado da query. Se assim nao for ira listar todos os materiais e nao quero isso, so quero que mostre os materiais que ainda nao foram inseridos na tabela materiais_servicos para determinado serviço.

// http://www.yiiframework.com/extension/echmultiselect/#hh3
$data= CHtml::listData(Materiais::model()->findAll(),'Id','Nome');
$this->widget('ext.widgets.EchMultiSelect.EchMultiselect', array(
    'model' => $model,
    'dropDownAttribute' => 'MaterialId',     
    'data' => $data,
    'dropDownHtmlOptions'=> array(
        'style'=>'width:150px;',
    ),


0

#3 User is offline   Bono 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 13-March 12
  • Location:Norte de Portugal

Posted 07 May 2012 - 01:39 PM

É desta que vou ficar sem resposta... :rolleyes:
0

#4 User is offline   Thii 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 12
  • Joined: 13-March 12
  • Location:Brazil

Posted 07 May 2012 - 02:34 PM

Olha to sem tempo agora para escrever os códigos, mas resolveria fazer assim:

1 - Criar no controller uma action que faz a query baseada no resultado, ela faz a query e da um renderpartial de uma view que pega a query e cria um dropdownlist.

2 - Na view que tem os dropdownlist crie um javascript que pegue o valor do primeiro dropdownlist e mande por ajax para a action criada no item 1. E também se acontecer o evento sucess ele atualizar uma div.

3 - No DropDownList 2 você coloca dentro de uma div que será atualizada pelo script ajax que chamou.
Xtreme Go go go Horse!
0

#5 User is offline   Bono 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 13-March 12
  • Location:Norte de Portugal

Posted 08 May 2012 - 01:29 PM

View PostThii, on 07 May 2012 - 02:34 PM, said:

Olha to sem tempo agora para escrever os códigos, mas resolveria fazer assim:

1 - Criar no controller uma action que faz a query baseada no resultado, ela faz a query e da um renderpartial de uma view que pega a query e cria um dropdownlist.

2 - Na view que tem os dropdownlist crie um javascript que pegue o valor do primeiro dropdownlist e mande por ajax para a action criada no item 1. E também se acontecer o evento sucess ele atualizar uma div.

3 - No DropDownList 2 você coloca dentro de uma div que será atualizada pelo script ajax que chamou.


Pois! Tem que aprofundar os meus conhecimentos... Gostava mesmo de um exemplo prático. Valeu Thii!
0

#6 User is offline   Allan Freitas 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 38
  • Joined: 08-November 12
  • Location:Guarapari-ES - Brazil

Posted 02 January 2013 - 01:45 PM

To meio atrasado, mas fica ai de referência:

http://www.yiiframework.com/wiki/24/

O cara mostra uma abordagem de como fazer o que você quer.
0

#7 User is offline   Bono 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 13-March 12
  • Location:Norte de Portugal

Posted 02 January 2013 - 03:30 PM

View PostAllan Freitas, on 02 January 2013 - 01:45 PM, said:

To meio atrasado, mas fica ai de referência:

http://www.yiiframework.com/wiki/24/

O cara mostra uma abordagem de como fazer o que você quer.


Allan, obrigado pela dica. Mas já tinha resolvido este problema. Podia existir uma opção para marcar o tópico como resolvido.

Abraço!
0

#8 User is offline   Allan Freitas 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 38
  • Joined: 08-November 12
  • Location:Guarapari-ES - Brazil

Posted 03 January 2013 - 07:35 AM

Tranquilo, altera o titulo com "[Resolvido] Seu Titulo".
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users