Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // aqui é o array da SUPER VARIÁVEL $_POST do form
- array (size=8)
- 'tipo' => string '3' (length=1)
- 'nomedaempresa' => string 'sos' (length=3)
- 'nome' => string 'janior' (length=6)
- 'cpf_cnpj' => string '23424' (length=5)
- 'telefone' => string '23423432' (length=8)
- 'tipo_empresa' => string '7' (length=1)
- 'senha' => string '123' (length=3)
- // quero pega o senha e alterar seu valor ou seja pega o 123 e por md5(123) ok
- // porque se vc perceber no meu método eu recebo um parâmetro que é meu array da super variável $_POST
- // OBSERVE TAMBÉM QUE MINHA QUERY É FORMADA AUTOMATICAMENTE, ASSIM EVITAREI FUTUROS ERROS AO AUTUALIZAR APENAS UM CAMPO OU MAIS
- // SENDO QUE ELE SO GRAVA CAMPOS QUE TIVER COMPLETO NOME E VALOR.
- // AQUI EU FAÇO O TRATAMENTO DO ARRAY DA variável $_POST onde vou retirar do array o nome do botão submit que também vira um post ao
- // pegar o array pela $_POST
- // também elimino campos vazios
- if ( isset( $_POST[ 'acao' ] ) && $_POST[ 'acao' ] == 'salvar' ) {
- //$buscaUsers = $users->readLine( $id = $_POST[ 'id' ] );
- // CAMPOS NEGADOS
- $remover = array(
- $_POST[ 'acao' ],
- );
- // RETIRA DO ARRAY Os CAMPOS NEGADOS
- $resultado = array_diff( $_POST, $remover );
- $atualizar = array_filter($resultado);
- $users->update($atualizar);
- //var_dump($atualizar);
- }
- // LEMBRANDO ESSES DOIS TRECHOS ESTA NA PAGINA DO FORM OU SEJA TO MANDANDO O POST PRA MESMO PAGINA
- public function update( $atualizar ) {
- // PEGA OS INDICES DO ARRAY
- $indices = array_keys( $atualizar );
- // PEGA OS VALORES DO ARRAY
- $valores = array_values( $atualizar );
- // COMBINA OS ARRAYS PARA GERAR OS BINDPARAM
- $params = array_combine( $indices, $valores );
- // SEPARA POR IGUAL DOIS PONTOS PRA FORMA A QUERY EX: =:nome,
- $separadoPorDoisPontos = ':' . implode( '=:', $indices );
- // COMBINA OS INDICES COM A $separadoPorDoisPontos EX: nome=:nome,
- $c = array_combine( $indices, explode( '=', $separadoPorDoisPontos ) );
- $query = null;
- // RETIRA DA QUERY A ULTIMA VIRGULA EX: nome=:nome, email=:email, senha=:senha
- foreach ( $c as $key => $value ) {
- if($key == 'senha'){
- $query .= $key . '=' . md5($value) . ',';
- } else {
- $query .= $key . '=' . $value . ',';
- }
- }
- // CRIA UM NOVA QUERY SEM A VIRGULA FINAL
- $novaQuery = rtrim( $query, ',' );
- $sql = "UPDATE $this->table SET $novaQuery WHERE id = :id";
- $stmt = DB::prepare( $sql );
- foreach ( $params as $key => & $value ):
- $stmt->bindParam( $key, $value );
- endforeach;
- return $stmt->execute();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement