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

Function para criar ComboBox dinamicamente, duvida na edição dos dados


egpjdf

Pergunta

Olá galera, sou novato neste fórum, e estou com uma pequena dúvida,

Criei uma function para criar um combo dinamicamente, esta funfando bele, e ficou assim:

function criarCombo(){
        $sql = "SELECT $this->dados, $this->fieldId FROM $this->table ORDER BY $this->dados";
        $rs_sql = mysql_query($sql);
        $combo .= "<option value=\"\"></option>\n";
        while($linha=mysql_fetch_array($rs_sql)){
            $id = $linha[$this->fieldId];
            $nome  = $linha[$this->dados];
            $combo = $combo . "<option value=\"$id\">$nome</option>\n";
        }
        echo $combo;
}

Minha dúvida é a seguinte, quando puxo os dados em um form para edição como poderia fazer para pegar a informação que foi salva no campo combo e trazer ela como selected ??? :unsure:

Agradeço pela ajuda.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Você pode salvar o valor vindo do form em uma variável, e aí é só comparar com o valor do combo. Se for igual, você imprime o "selected".

Vamos supor que você tenha atribuído o valor vindo do form à variável $comboForm.

function criarCombo(){
        $sql = "SELECT $this->dados, $this->fieldId FROM $this->table ORDER BY $this->dados";
        $rs_sql = mysql_query($sql);
        $combo .= "<option value=\"\"></option>\n";
        while($linha=mysql_fetch_array($rs_sql)){
            $id = $linha[$this->fieldId];
            $nome  = $linha[$this->dados];
            $combo .= "<option value=\"$id\""
            if($comboForm == $id){
                $combo .= " selected";
            }
            $combo .= ">$nome</option>\n";
        }
        echo $combo;
}

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

  • 0

Você pode implementar um argumento no método criarCombo

Exemplo:

/**
 *  @param string $select Utilizado para passar o id da linha a ser selecionado 
 */
function criarCombo($select=''){
        $sql = "SELECT $this->dados, $this->fieldId FROM $this->table ORDER BY $this->dados";
        $rs_sql = mysql_query($sql);
        $combo .= "<option value=\"\"></option>\n";
        while($linha=mysql_fetch_array($rs_sql)){
            $id = $linha[$this->fieldId];
            $nome  = $linha[$this->dados];
            $combo = $combo . sprintf("<option value=\"$id\" %s>$nome</option>\n",($select==$id)? 'selected="selected"' : '');
        }
        echo $combo;
}

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...