Ir para conteúdo

POWERED BY:

Arquivado

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

David SP

Radio Button - Update em varios registros

Recommended Posts

E ai pessoal, beleza?Estou com uma pequena (para mim grande :-) ) dificuldade.Eu tenho uma tabela "menu" com os seguintes campos:id - int(3)modulo - varchar(15)pagina - varchar (20)ativo - enum('s', 'n')1ª dificuldade:Eu fiz uma página adm_modulos.php, com 3 colunas:modulo | Sim | NaoEu preciso que essa pagina liste os registros da tabela "menu" e ao lado do campo módulo, eu preciso de 2 radio buttons (um para Sim e outro para Nao), que deverão pegar a informação já existente no campo ativo da tabela. Ou seja, se o campo ativo = s, o radio button SIM vai estar "checked", caso contrario o radio button NAO vai estar "CHECKED".A pagina atualmente mostra os registros e coloca 2 radio buttons ao lado de cada registro, porem nao esta pegando os valores s ou n ja existentes. Alem do que, ela nao esta permitindo que eu selecione uma opção (Sim ou Nao) por registro. Ela so esta permitindo selecionar uma unica opção por TODOS os registros, ou seja, se eu seleciono SIM no primeiro registro e depois seleciono NAO no segundo registro, ela apaga a primeira seleção.adm_modulos.php

<?phpinclude 'conexao.php';$sql = "SELECT * FROM menu";$resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta ao banco de dados");while ($linha=mysql_fetch_array($resultado)) {$id = $linha["id"]; 	$modulo = $linha["modulo"];$ativo = $linha["ativo"];$check0 = $check1 = "";if ($ativo == "s") { $check0 = " CHECKED"; } else { $check1 = "CHECKED"; }echo "<tr>";echo "<td>$modulo</td>";echo "<td><INPUT TYPE='radio' NAME='ativo[]' VALUE='s''.$check0.'><BR></td>";echo "<td><INPUT TYPE='radio' NAME='ativo[]' VALUE='n''.$check1.'></td>"; echo "</tr>";}?>

2ª Duvida:Eu preciso que as seleções feitas nos radio buttons, atualizem o campo "ativo" da tabela. Ou seja, se seleciono SIM no registro 1 e NAO no registro 2, ele deve atualizar o campo ativo = "s" no primeiro e "n" no segundo.Essa pagina adm_modulos_alt.php nao esta funcionando.

<?phpinclude 'conexao.php';$ativo=$_POST['ativo'];$sql="UPDATE menu SET ativo='$ativo'";mysql_query($sql);?>

Agradeço se puderem me ajudar.AbraçosDavid

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,Consegui fazer com que a página que mostra os registros, coloque os 2 radios do lado de cada registro. Se o campo ativo esta como s no banco, o primeiro radio aparece checado, mas se o campo ativo esta como n, os 2 radios estao vazios, como resolver?adm_modulos.php

<?phpinclude 'conexao.php';$sql = "SELECT * FROM menu";$resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta ao banco de dados");while ($linha=mysql_fetch_array($resultado)) {$id = $linha["id"]; 	$modulo = $linha["modulo"];$ativo = $linha["ativo"];$check0 = $check1 = "";if ($ativo == "s") { $check0 = " CHECKED"; } else { $check1 = "CHECKED"; }echo "<tr>";echo "<td>$id - $modulo</td>";echo "<td><INPUT TYPE='radio' NAME='ativo[$id]' VALUE='s''.$check0.'><BR></td>";echo "<td><INPUT TYPE='radio' NAME='ativo[$id]' VALUE='n''.$check1.'></td>"; echo "</tr>";}?>

Mas ainda não consegui fazer com que as seleções dos radio sejam salvas.adm_modulos_alt.php

<?phpinclude 'conexao.php';foreach($_POST["ativo"] as $ativo) {$sql = "UPDATE menu SET ativo='$ativo' WHERE id='$id'";$resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta ao banco de dados");echo "<h1>Configuração Salva!</h1>";}?>

Quando eu mudei o codigo desta página para apenas:foreach($_POST["ativo"] as $ativo) {echo "$ativo";}ele mostrou certinho os valores selecionados nas radios.Acredito que o meu problema esteja na instrução SQL. Como obter o $id que esta no nome do radio ativo[$id] e utiliza-lo na instrução?AbraçosDavid

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.