Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Prezados,
Tenho uma tela de cadastro, que neste possui um combobox trazendo dados do banco de dado. Nesta tela, o cadastro está perfeitamente, ou seja, faço o cadastro e os dados são armazenados adequadamente. Bom, na tela de alteração, os campos são exatamente os mesmos, claro ao pesquisar os dados e exibidos na tela, as informações são as que foram cadastradas na tela anterior, POREM, o combobox não é preenchido com o valor que foi inserido (cadastrado) anteriormente e assim tendo sempre que selecionar a opção conforme o que foi cadastrando anteriormene. Por exemplo: Esse combobox pode ser um ESTADO e neste ao realizar o cadastro, selecionei RIO GRANDE DO SUL, quando vou alterar o cadastro, ao invés de alimentar o combobox com o RIO GRANDE DO SUL, ele exibe Selecione um Estado.
Pergunto: Como faço para exibir no combobox o registro que foi cadastrado e junto exibir as outras opções caso eu queira alterar este campo ?
Confesso que pensei nisso, mas será muito "chato" fazer dessa forma.
Será que alguém não teria uma LUZ....
Coloque cada estado num array e organize-o. Com um foreach você consegue, mas também pode usar usort().
Alguem tem alguma sugestão, se possível um exemplo ?
numsei prq uso BBcode na seu texto =X
ta ruim d le isso em ^^
c que pega o combo box selecionado qndo tive editando?
faz o select onde a condição e o ID do q vai c editado
$combo = array('MG','SP')
<select>
<option <?php echo $select= in_array('MG', $combo)? 'SELECTED' : '';?>>
<?php echo $combo;?></options>
</select>
c num to enganado assim funciona =P
Como a lista de dados que popula o combobox é variável e vêm do banco de dados, logicamente você usa um loop para montar as tags <option> automaticamente.
Pois bem, dentro desse loop basta você verificar se o valor corrente da iteração é igual ao vindo da variável externa, no caso os dados resultantes da consulta pelo registro.
$estadoUsuario = 'MG';
$estados = array( 'AC' => 'Acre', 'AL' => 'Alagoas', 'MG' => 'Minas Gerais' /* ... */ );
print "<select name=\"estado\">\n\t\n";
foreach( $estados as $sigla => $estado ) {
printf( "<option value=\"%s\"%s>%s</option>\n\t", $sigla, ( $sigla == $estadoUsuario ? ' selected="selected"' : '' ), $estado );
}
print "\n</select>";
eu partiria dessa lógica aqui:
{ {na sua pag. de atualização, quando chamar os dados, você pode comparar as opções.
Deve ter um jeito mais fácil, mas acho q a lógica parte disso ai.