Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

amanda12

[Resolvido]  como popular uma combo select

Recommended Posts

Pessoal tenho uma combo select daí faço uma query para popular vários campos inclusive essa combo mas ela nunca aparece marcada a mesma opção que está no BD mysql ela é assim:

 

 

<?php

 

while($resp = mysql_fetch_array($sq)){

 

?>

 

 

<select name="estado" size="1" id="estado">
					<option value="">selecione uma opção</option>
					<option value="DESQUITADO" selected="<?php if($resp['estado'] == "DESQUITADO") { echo "selected";} ?>">DESQUITADO</option>
					<option value="COMPANHEIRO" selected="<?php if($resp['estado'] == "COMPANHEIRO") { echo "selected";} ?>">COMPANHEIRO</option>
					<option value="DIVORCIADO" selected="<?php if($resp['estado'] == "DIVORCIADO") { echo "selected";} ?>">DIVORCIADO</option>
					<option value="SEPARADO" selected="<?php if($resp['estado'] == "SEPARADO") { echo "selected";} ?>">SEPARADO</option>
					<option value="SOLTEIRO" selected="<?php if($resp['estado'] == "SOLTEIRO") { echo "selected";} ?>">SOLTEIRO</option>
					<option value="VIUVO" selected="<?php if($resp['estado'] == "VIUVO") { echo "selected";} ?>">VIUVO</option>
					<option value="OUTROS" selected="<?php if($resp['estado'] == "OUTROS") { echo "selected";} ?>">OUTROS</option>
				  </select>
<?

}

?>

 

Estou fazendo errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque o selected=

 

dentro da impressão do IF

 

ficando assim

 

 

<?php

while($resp = mysql_fetch_array($sq)){

?>


<select name="estado" size="1" id="estado">
					<option value="">selecione uma opção</option>
					<option value="DESQUITADO" <?php if($resp['estado'] == "DESQUITADO") { echo "selected='selected'";} ?>>DESQUITADO</option>
					<option value="COMPANHEIRO" <?php if($resp['estado'] == "COMPANHEIRO") { echo "selected='selected'";} ?>>COMPANHEIRO</option>
					<option value="DIVORCIADO" <?php if($resp['estado'] == "DIVORCIADO") { echo "selected='selected";} ?>>DIVORCIADO</option>
					<option value="SEPARADO" <?php if($resp['estado'] == "SEPARADO") { echo "selected='selected";} ?>>SEPARADO</option>
					<option value="SOLTEIRO" <?php if($resp['estado'] == "SOLTEIRO") { echo "selected='selected";} ?>>SOLTEIRO</option>
					<option value="VIUVO" <?php if($resp['estado'] == "VIUVO") { echo "selected='selected";} ?>>VIUVO</option>
					<option value="OUTROS" <?php if($resp['estado'] == "OUTROS") { echo "selected='selected";} ?>>OUTROS</option>
				  </select>

<?
}
?>

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

// iniciamos a combo

// PHP_EOL => Quebra de linha

$combo = '<select name="estado" id="estado">'.PHP_EOL;

 

// pega o valor que queremos checar, pode ser enviado

// através de um formulario ou através da URL

$checar = !empty($_REQUEST['estado']) ? $_REQUEST['estado'] : '';

 

// consultamos os estados civis do banco de dados

$rs = mysql_query("SELECT * from estados_civis");

 

// para cada resultado encontrado no banco

while( $row = mysql_fetch_assoc($rs) ){

 

// executamos a funcao sprintf, que recebe uma mascara,

// e nos permite colocar os valores para mascara como parametros

// - no primeiro %s, colocamos o nome do estado civil

// - no segundo %s, comparamos se o valor da linha atual do banco é igual ao que queremos deixar como marcado

// - no terceiro %s, exibimos o nome do estado civil para o usuario

//

// acrescentamos o resultado à string da combo

$combo .= sprintf('<option value="%s"%s>%s</option>' . PHP_EOL,

$row['estado'],

$row['estado'] == $checar ? ' selected="selected"' : '',

$row['estado']);

}

 

// finalizamos a combo

$combo .= '</select>';

 

// exibimos o resultado

echo $combo;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.