Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
fiz um cadastro onde gravo no banco a opção estdo civil onde tem casado, solteiro, separado, ele grava tudo certo, mas qdo fiz o script para alterar não consigo fazer com que traga a opção existente no banco marcada e permitir a alteração.
o radio button está assim:
<label>
<input type="radio" name="civil" value="<?php echo $informativo['civil']; ?>" id="civil_0" />
Casado</label>
<br />
<label>
<input type="radio" name="civil" value="<?php echo $informativo['civil']; ?>" id="civil_1" />
Solteiro</label>
<br />
<label>
<input type="radio" name="civil" value="<?php echo $informativo['civil']; ?>" id="civil_2" />
Separado</label>
e onde grava tá assim:
$civil= $_POST['civil'];
$sql = mysql_query("UPDATE cadastro SET nome = '$nome', email = '$email', fone = '$fone', cidade = '$cidade', estado = '$estado', civil = '$civil' WHERE id = '$id'");a variavel informativo vem desse codigo
$sql = mysql_query("SELECT * FROM cadastro WHERE id='$id'");
$informativo = mysql_fetch_array($sql);
e está tudo igual pq já tentei de tudo e não consigo fazer alterar...
O mysql_fetch_array() retorna um array numérico pro php, por isso o 'civil' não é acessível, teria que ser mysql_fetch_assoc()
Se as alternativas são sempre as mesmas, escreva manualmente, uma a uma.
<label>
<input type="radio" name="civil" value="casado" id="civil_0" /> Casado
</label>
<br />
<label>
<input type="radio" name="civil" value="solteiro" id="civil_1" /> Solteiro
</label>
<br />
<label>
<input type="radio" name="civil" value="separado" id="civil_2" /> Separado
</label>
Nos valores fixos, adapte o código à sua base de dados.
Colocando o valor fixo como você falou deu certo, mas o problema é que ele trás a opção vazia e não a que já está salva no banco, como poderia resolver isso?
obrigada
Rosicler
O que está vindo vazio? A variável ou o radio não selecionado?
o radio não selecionado com a opção antiga que está gravada na tabela do banco, tipo o nome, email etc. ele traz preenchido pq busco pelo id o registro dai faço a alteração e uso o update para atualizar, mas o radio não vem selecionado com o que tem no registro na tabela.
Certo.
Quando você tá dando echo nos radio buttons, você verifica o valor da variável do banco, se for o valor que você quer, da echo no checked
<label>
<input type="radio" name="civil" value="casado" id="civil_0" <?php if($informativo['civil'] == 'casado'){ echo 'checked="checked"';} ?> /> Casado
</label>
<br />
<label>
<input type="radio" name="civil" value="solteiro" id="civil_1" <?php if($informativo['civil'] == 'solteiro'){ echo 'checked="checked"';} ?> /> Solteiro
</label>
<br />
<label>
<input type="radio" name="civil" value="separado" id="civil_2" <?php if($informativo['civil'] == 'seperado'){ echo 'checked="checked"';} ?> /> Separado
</label>
Certo?
Muitoooo obrigado pelo ajuda, deu certinho agora.
Att,
Rosicler
Primeiro: Os valores dos seus radio estão iguais, você está usando a mesma variável.
Segundo: De onde vem sua variável $informativo?