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

Loop duplicando valores no selectbox


Santiago

Pergunta

Senhores, boa tarde,

estou com um problema de loop, tenho um selectbox que me permite selecionar várias opções e grava-las no banco.

Quando eu recupero essas informações no formulário para edita-las preciso mostrar-las selecionadas, assim posso saber o que está o banco. está quase tudo funcionando o problema é que quando imprimo os valores selecionados eles saem duplicados.

O código é o seguinte:

<select  name="themes[]" size='4' multiple='multiple'>
      <option value="">Selecione um tema</option>
<?
        //Array de objetos vindos da base (nesse caso os campos do selectbox que devem ser selecionados automaticamente)
        $t = $webmovie->theme;
        
       //intera pelo array de objetos $themes (todos os options do selectbox)
        for($i = 0; $i < count($themes); $i++)
        {
          //intera pelos itens que devem ser selecionados
          for($j = 0; $j < count($t); $j++)
          {
            //atribui o status d selectbox de acordo com a condicao
            //caso o $t[$j]->theme_id for igual ao $themes[$i]->id então seleciona
            $status = ($t[$j]->theme_id == $themes[$i]->id) ? 'selected' : '';

            //imprime os options com os valores selecionados ou não
            echo "<option value='{$themes[$i]->id}' {$status}>{$themes[$i]->name}</option>";
          }
        }
      ?>
  </select>
E a resposta html é essa:
<select multiple="multiple" size="4" name="themes[]">
      <option value="">Selecione um tema</option>
      <option selected="" value="2">África amanhÇœ</option>
      <option value="2">África amanhÇœ</option>
      <option value="2">África amanhÇœ</option>
      <option value="3">África forever</option>
      <option selected="" value="3">África forever</option>
      <option value="3">África forever</option>
      <option value="1">África Hoje</option>
      <option value="1">África Hoje</option>
      <option value="1">África Hoje</option>
      <option value="4">Mais África</option>
      <option value="4">Mais África</option>
      <option selected="" value="4">Mais África</option>    
</select>

Onde está o erro desses loops e como posso corrigi-lo?

Obrigado.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,2k
    • Posts
      652k
×
×
  • Criar Novo...