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

Método genérico


MTavares

Pergunta

Caros colegas,

eu tenho um método, que mtos chamam de genéricos, do qual faz a alteração de um determinado dado. Só que ao terminar de desenvolver esse método, me deparei com um obstáculo, quando o texto, por ex, tem vírgula, ele interpreta como mais um campo e dá erro. veja abaixo o método:

public function alterarDADOS($tabela,$camposbd,$camposformulario,$idwhere,$id,$Pag){
          
          $this->tabela = $tabela;
          $this->camposbd = $camposbd;
          $this->camposformulario = $camposformulario;
          $this->id = $id;
                  
          $camposimplode = @implode(",",$this->camposformulario);
          $campos = explode(",",$this->camposformulario);
          
          $camposbd = @implode(",",$this->camposbd);
          $camposbdnovo = explode(",",$this->camposbd);
         
          $up = "UPDATE " .$tabela. " SET ";
          
          $i = 0;
                  
          while(list(,$valor) = each($campos)){
               
              if($i > 0){   
                       $up .= ", ";
                     }
                       $up .= $camposbdnovo[$i] . " = '" .$valor. "'";
                       $i++;
          }
          $up .= " WHERE " .$idwhere. " = " .$id;   
          $sql = mysql_query($up);

          try{
              if(mysql_affected_rows() > 0){
                          return $this->sucesso("alterar",$id,$Pag);
                      }else{
                throw new Exception($this->erro($Pag));
              }
           }catch(Exception $erro){
                 return $erro->getMessage();
          }
      }

Alguém poderia me ajudar a achar uma solução para isso?

abraços e obrigado

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

MTavares... isso acontece por que no explode... você passa a virgula como condição para quebra..

o ideal seria você não usar virgula para separar os campos que essa função recebe..

tenta usar + por exemplo, dai é só trocar nas chamadas do metodo explode por +.

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