Sobre
  .: Ínicio
  .: Curriculo
  .: Trabalhos
  .: Sites Prontos
  .: Orçamento
  .: Hospedagem
  .: Contato
Tópicos
  .: Aulas php
  .: Curiosidades
  .: Cursos & Apostilas
  .: Downloads
  .: Filmes
  .: Ganhe Grátis
  .: Papel de parede
  .: Php
  .: Piadas
  .: Promoção
  .: Vídeos


Compare Produtos, Lojas e Preços

Função - Gerador de combo - 08/04/2008 13h59 - [Php]

function gerarCombo($arrConteudo, $strNomeCombo, $strElementoSelecionado="", $strValor, $strLabel, $strComplemento="")
  {

    $strHtml = "<select name='$strNomeCombo' $strComplemento>\n";

    if(strlen(trim($strElementoSelecionado)) == 0)
       $strHtml .= "<option value='-1'>- Selecione -</option>\n";

    for($intI=0;$intI<count($arrConteudo);$intI++){

        $strValorElemento = $arrConteudo[$intI][$strValor];
        $strLabelElemento = $arrConteudo[$intI][$strLabel];

        if ($strElementoSelecionado == $strValorElemento)
            $strHtml .= "<option value='$strValorElemento' selected>$strLabelElemento</option>";
        else
       $strHtml .= "<option value='$strValorElemento'>$strLabelElemento
</option>";

    }

       $strHtml .= "</select>";

       return $strHtml;

  }

Modo de usar

Cria-se uma matriz.
$arrConteudo[0]['texto'] = 'São Paulo';
$arrConteudo[0]['valor'] = 'SP';
$arrConteudo[1]['texto'] = 'Minas Gerais';
$arrConteudo[1]['valor'] = 'MG';
$arrConteudo[2]['texto'] = 'Rio de Janeiro';
$arrConteudo[2]['valor'] = 'RJ';

Define-se parametros

$strNomeCombo = "cmbEstado"; //nome do combo
$strElementoSelecionado = "MG"; //valor selecionado, deixando vazio entra como selecionado a opção 'Selecione'
$strValor = "valor"; // nome da chave que contem o valor
$strLabel = "texto"; // nome da chave que contem o label
$strComplemento="class='combo'"; //no caso de existir algum complemento na declaração do select

Chamada da funcão

gerarCombo($arrConteudo, $strNomeCombo, $strElementoSelecionado, $strValor, $strLabel, $strComplemento);

Por Luiz Felipe Baio

Comentários


SZCXmakqBKJXZwndEV - 17/02/2012 06:30

Cara, oibagrdo pela visita.Realizei um teste utilizando o metodo aplicado por voce, e constatei o que pensava, quando voce utiliza essa forma voce atribui o valor SP' a todos os options contidos no select e nao seleciona o Option que estava com o valor.Ja da forma que foi demonstrada no post, voce faz uma varredura nos options do Combo select e deixa aquele que estiver com o value igual ao pesquisado com o status de selected. E possibilita a pessoa selecionar outro valor dentro do Combo para alteracao.




  Deixe seu comentário  
Nome *
E-mail *
Site/Blog 
Comentário:

 Caracteres restantes : 1000



Google
Enquete
O que achou do site?
Excelente
Muito Bom
Razoável
Ruim
Péssimo
LFBaio - Desenvolvido e mantido por