Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
Tenho um probleminha e nem sei como pesquisá-lo no fórum. Então resolvi postar a minha dúvida.
É o seguinte: Tenho uma caixa de combinação (combobox), chamo-a assim, no Dreamweaver o nome dela tá como 'List/Menu' mas é o mesmo efeito, tenho que preenchê-la com dados do banco a fim de que o usuário selecione um item de seu conteúdo. No entanto, ao carregar uma tela para que os dados sejam alterados devo adicionar o valor da combo que é o valor que está no banco e devo adicionar os itens da combo. Com isso o valor é duplicado. A informação que vem do campo é o primeiro da lista e também aparece como uma das opções da lista, ou seja, ele aparece duas vezes.
A minha intenção é fazer com que quando eu abrir a combo ela apenas selecione o item já cadastrado na lista de opções.
Não sei se consegui expressar minha dúvida da melhor maneira.
Walhew!!!
Eu uso sempre a seguinte forma:
<?php
while ($dados = pg_fetch_array($Resultado)){
$cargo_id = $dados["cargo_id"]; // Variavel vinda da consulta referente ao dado que voce está alterando
}
?>
<tr>
<td><div align="right"><font face="Courier New, Courier">Cargo:</font></div></td>
<td> <select name="cargo" id="cargo" onfocus="mudacor(this,'yellow')" onblur="mudacor(this,'white')">
<?php
$Sql = "SELECT * FROM cargos ORDER BY cargo";
$Resultado = executa($Sql);$id_cargo = $linha["id_cargo"];
$cargo = $linha["cargo"];
if ($cargo_id == $id_cargo) // "$cargo_id" seria o "$dado_atual = 'alguma_coisa';" referido pelo ESerra
echo "<option value='$id_cargo' selected = 'selected'>$cargo</option>";
else
echo "<option value='$id_cargo'>$cargo</option>";
}
?>
</select><font color="#FF0000" Size="2"> *</font></td>
</tr>
Espero ter ajudado. Valeu.
Eu não entendi muito bem essa lógica ESerra e na comparação na parte de 'coluna_a_comparar' as colunas devem ter os mesmos nomes?
esse assunto ja foi discutido aqui...da uma lida nesse tópico
>
Eu não entendi muito bem essa lógica ESerra e na comparação na parte de 'coluna_a_comparar' as colunas devem ter os mesmos nomes?
Neste momento mais que saber programação é necessário usar a cabeça durante alguns segundos, o que você quer comparar? O nome da coluna ou o conteúdo que está armazenado em alguma coluna? Assumindo que você tenha um raciocínio normal, você respondeu que quer comparar o conteúdo de alguma coluna, logo, não interessa os nomes das colunas, interessa que você use a coluna certa que é de ondem provém o valor que já está gravado na outra variável ($dado_atual).
A lógica é a seguinte:
$sql = mysql_query(...
while($dados = mysql_fetch_assco($sql){ $sel = ($dado_atual == $dados['coluna_a_comparar'])?'selected="selected"':'';//Se a coluna a comparar for igual ao dado atual, seleciona o item no combo