MTavares Postado Agosto 2, 2012 Denunciar Share Postado Agosto 2, 2012 Olá colegas.Gostaria de uma força para resolver um pequeno desafio em um dos sistemas que estou desenvolvendo. Tenho os seguintes campos do formulário: <input type="checkbox" name="CarteiraMotorista[]" value="A" /> A <input type="checkbox" name="CarteiraMotorista[]" value="B" /> B <input type="checkbox" name="CarteiraMotorista[]" value="AB" /> AB <input type="checkbox" name="CarteiraMotorista[]" value="C" /> C <input type="checkbox" name="CarteiraMotorista[]" value="D" /> D <input type="checkbox" name="CarteiraMotorista[]" value="E" /> E Ao armazenar no banco, faço da seguinte forma: $CarteiraMotorista = implode(",",$_POST["CarteiraMotorista"]); $sqlCadastrar = mysql_query(......); Até aqui tudo bem.... porém na visualização, preciso comparar os campos cadastrados no banco com os do formulário.... dei início ao raciocínio assim (levando em consideração que a visualização é de apenas um usuário, por isso foi descartado o laço): <?php .... $mtVisualizar = mysql_fetch_object($sqlVisualizar); $carteira = explode(",",$mtVisualizar->CarteiraMotoristaVagas); ?> <input type="checkbox" name="CarteiraMotorista[]" value="A" <?php if($_POST["CarteiraMotorista"] == "A" || $carteira[0] == "A"){ echo "checked"; }?>/> A <input type="checkbox" name="CarteiraMotorista[]" value="B" <?php if($_POST["CarteiraMotorista"] == "B" || $carteira[1] == "B"){ echo "checked"; }?>/> B <input type="checkbox" name="CarteiraMotorista[]" value="AB" <?php if($_POST["CarteiraMotorista"] == "AB" || $carteira[2] == "C"){ echo "checked"; }?>/> AB <input type="checkbox" name="CarteiraMotorista[]" value="C" <?php if($_POST["CarteiraMotorista"] == "C" || $carteira[3] == "D"){ echo "checked"; }?>/> C <input type="checkbox" name="CarteiraMotorista[]" value="D" <?php if($_POST["CarteiraMotorista"] == "D" || $carteira[4] == "E"){ echo "checked"; }?>/> D <input type="checkbox" name="CarteiraMotorista[]" value="E" <?php if($_POST["CarteiraMotorista"] == "E" || $carteira[5] == "F"){ echo "checked"; }?>/> ESó que quando faço isso, ele marca apenas os primeiros campos, já que o array retorna (Array ( [0] => A [1] => E )).Como faria para que os campos ficassem marcados corretamente?Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MTavares Postado Agosto 2, 2012 Autor Denunciar Share Postado Agosto 2, 2012 Estou quase chegando lá... tentei usar o foreach(). Só que também não funfou kkkk$carteira = explode(",",$mtVagas->CarteiraMotoristaVagas); $crt = ""; foreach($carteira as $c){ $crt .= $c."<br>"; } echo $crt; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MTavares Postado Agosto 2, 2012 Autor Denunciar Share Postado Agosto 2, 2012 (editado) Resolvi meu desafio da maneira menos elegante...caso alguém sabia de uma outra maneira menos bagunçada, agradecerei pela ajuda.... vejam a bagunça:$carteira = explode(",",$mtVisualizar->CarteiraMotorista); foreach($carteira as $c){ if($c == "A"){ $ctA = "A"; }elseif($c == "B"){ $ctB = "B"; }elseif($c == "AB"){ $ctAB = "AB"; }elseif($c == "C"){ $ctC = "C"; }elseif($c == "D"){ $ctD = "D"; }elseif($c == "E"){ $ctE = "E"; }else{ } O formulário: <input type="checkbox" name="CarteiraMotorista[]" value="A" <?php if($_POST["CarteiraMotorista"] == "A" || $ctA == "A"){ echo "checked"; }?>/> A <input type="checkbox" name="CarteiraMotorista[]" value="B" <?php if($_POST["CarteiraMotorista"] == "B" || $ctB == "B"){ echo "checked"; }?>/> B <input type="checkbox" name="CarteiraMotorista[]" value="AB" <?php if($_POST["CarteiraMotorista"] == "AB" || $ctAB == "AB"){ echo "checked"; }?>/> AB <input type="checkbox" name="CarteiraMotorista[]" value="C" <?php if($_POST["CarteiraMotorista"] == "C" || $ctC == "C"){ echo "checked"; }?>/> C <input type="checkbox" name="CarteiraMotorista[]" value="D" <?php if($_POST["CarteiraMotorista"] == "D" || $ctD == "D"){ echo "checked"; }?>/> D <input type="checkbox" name="CarteiraMotorista[]" value="E" <?php if($_POST["CarteiraMotorista"] == "E" || $ctE == "E"){ echo "checked"; }?>/> EFuncionou, mas ficou bagunçado...rsVlw Editado Agosto 2, 2012 por MTavares Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
MTavares
Olá colegas.
Gostaria de uma força para resolver um pequeno desafio em um dos sistemas que estou desenvolvendo. Tenho os seguintes campos do formulário:
Só que quando faço isso, ele marca apenas os primeiros campos, já que o array retorna (Array ( [0] => A [1] => E )).
Como faria para que os campos ficassem marcados corretamente?
Obrigado!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.