Hoeeepáa
Bom, sabe toooda aquela burocracia que agente faz tooooda vez que vai gerar um select-option via PHP?
Pois é, vai parecer óbvio pra maioria dos meus leitores, mas pode ser de ajuda pra alguns: que tal reduzir esta complexidade em apenas uma funçãozinha simples pra chamar rapidamente e não ter que ficar se preocupando com executar a SQL, fazer o while do recordset, fazer o IF pra ver qual option vai ter o selected, etc??
Acredite: isto facilita pra caramba. Reduz a complexidade e o tamanho do código.
A função que gera os options. Guarde em sua biblioteca de funções:
function geraOptions($sql,$campo_valor,$campo_label,$valor_selecionado,$tabs=' '){ //by Nairon JCG - Micox - elmicox.blogspot.com - micoxjcg@yahoo.com.br - 12/01/07 $reca = mysql_query($sql); $opts = "\r\n"; if($reca){ while($row = mysql_fetch_assoc($reca)){ if($row[$campo_valor]==$valor_selecionado){ $selected = "selected='selected'"; }else{ $selected = ""; } $opts .= $tabs." <option value='".$row[$campo_valor]."' $selected>".$row[$campo_label]."</option>\r\n"; } } return $opts; }
$sql - é a sql pra gerar os options
$campo_valor - o campo na sua tabela do BD que irá doar os valores para os VALUES dos options.
$campo_label - o campo na sua tabela do BD que irá doar os valores para os TEXTOS dos options.
$valor_selecionado - Se tal option tiver o value igual ao $valor_selectionado, ele ficará com selected=selected
$tabs - pra deixar seu código fonte que será gerado mais bonitim...
Exemplo de uso:
echo "<select id='estado' name='estado'>"; echo geraOptions('SELECT * FROM estados','id_estado','nome_estado',$cod_estado_cliente,' '); echo "</select>";
Dúvidas?
PS.:Esta é mais uma funçãozinha que eu tinha feito e esquecido de postar. Como este blog é minha 'guardadora' de funções pessoais, esta não podia ficar de fora né? hehe
PS.2: Esta é a penúltima postagem antes de ir embora para o elmicox.com.
Gostou da dica acima? Então clica nos botões de compartilhamento abaixo e me ajude a dica a subir no Google.
Cara isso me ajudou muito antes eu fazia maior gambiarra mano! vc leu meus pensamentos! vlw !
ResponderExcluir--
att, igor diniz
http://www.igordiniz.com.br