Ir para conteúdo

POWERED BY:

Arquivado

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

vonzuben

Deixar option selecionado

Recommended Posts

<?php
$sql = mysql_query("SELECT * FROM usuarios WHERE usuario_id = '$usuario_id'");
$linha = mysql_fetch_array($sql);
$select_conta = $linha["tipoconta"];
?>

<select name="tipoconta" id="tipoconta" />
<option value="">Selecione a Conta</option>
<option value="corrente" <?php if ($select_conta == "corrente") {echo "selected";} ?>>Conta Corrente</option>
<option value="poupanca" <?php if ($select_conta == "poupanca") {echo "selected";} ?>>Conta Poupança</option>
</select>

Aonde está errado nisso que não fica selecionado?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
function selected ($valorSelecionado, $valor) {
echo ($valorSelecionado == $valor) ? echo 'selected="selected"' : '';
}
?>

<option <?php selected ($valorSelecionado, $valor)?>>valor do banco de dados</option>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Duas coisas:

 

- Tem certeza de que usou a sintaxe comleta e correta do atributo? (selected="selected")

 

- Tem certeza de que a condição está sendo satisfeita? Isto é, $select_conta possui uma string exatamente igual àquilo que você está comparando, ou seja, sem espaços adicionais, maiúsculas e minúsculas...

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?php

if($_SERVER['REQUEST_METHOD']=='POST'){

require('config/secure.php');

 

$tipoconta = secure(ucwords(strtolower($_POST['tipoconta'])));

 

$sql = mysql_query("SELECT * FROM usuarios WHERE usuario_id = '$usuario_id'");

$linha = mysql_fetch_array($sql);

$select_conta = $linha["tipoconta"];

 

<form action="http://www.meusite.com.br/painel/dados-bancarios" method="post">

<p><label for="tipoconta">Tipo de Conta:</label>

<select name="tipoconta" id="tipoconta" />

<option value="">Selecione a Conta</option>

<option value="corrente" <?php if($select_conta == "corrente"){echo"selected";}?> >Conta Corrente</option>

<option value="poupanca" <?php if($select_conta == "poupanca"){echo"selected";}?> >Conta Poupança</option>

</select>

</p>

</fieldset>

<button type="submit" name="enviar">Atualizar</button>

</form>

 

Codigo como está

Está inserindo normal no banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou seja, para a primeira colocação, você não seguiu, afinal continua utilizando apenas a palavra selected que apesar de ser interpretado igualmente como selected="selected" não é garantido de ser cross-browser. E não sei que browser você está utilizando ;)

 

Segundo, você não respondeu se aquela variável, $select_conta, realmente possui um dos valores esperados (corrente ou poupança) na exata mesma forma que você definiu, ou seja, tudo em minúsculas e sem nenhum espaço nas extremidades.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno você deu uma pista rss que você nem viu tb no codigo acima

no POST acima tem o ucwords e no if está comparando com minúscula

valeu obrigadao

erro bobo meu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu até vi o ucwords(), mas como a variável $tipoconta não estava sendo utilizada seja no WHERE, seja no IF não mencionei especificamente ela e sim algo mais genericamente abrangente: a capitalização das letras.

 

;)

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.