David SP 0 Denunciar post Postado Fevereiro 16, 2007 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
David SP 0 Denunciar post Postado Fevereiro 16, 2007 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