Ir para conteúdo
Fórum Script Brasil
  • 0

Array


MTavares

Pergunta

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"; }?>/> E

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

  • 0

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 &nbsp;
                   <input type="checkbox" name="CarteiraMotorista[]" value="B" <?php if($_POST["CarteiraMotorista"] == "B" || $ctB == "B"){ echo "checked"; }?>/> B &nbsp;
                   <input type="checkbox" name="CarteiraMotorista[]" value="AB" <?php if($_POST["CarteiraMotorista"] == "AB" || $ctAB == "AB"){ echo "checked"; }?>/> AB &nbsp;
                   <input type="checkbox" name="CarteiraMotorista[]" value="C" <?php if($_POST["CarteiraMotorista"] == "C" || $ctC == "C"){ echo "checked"; }?>/> C &nbsp;
                   <input type="checkbox" name="CarteiraMotorista[]" value="D" <?php if($_POST["CarteiraMotorista"] == "D" || $ctD == "D"){ echo "checked"; }?>/> D &nbsp;
                   <input type="checkbox" name="CarteiraMotorista[]" value="E" <?php if($_POST["CarteiraMotorista"] == "E" || $ctE == "E"){ echo "checked"; }?>/> E

Funcionou, mas ficou bagunçado...rs

Vlw

Editado por MTavares
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...