Jump to content
Ricardo Godoi

Checar Id e fazer Update, PDO

Recommended Posts

Bom dia! estou usando essa crud

https://github.com/matyre73/PHP-PDO-Database-Class/blob/master/db.class.php

Porem! não consigo fazer com que ele me faça o update

	define('ID_MODULO',0,true);
	include ('../../includes/Config.php');
	include ('../../includes/Funcoes.php');

	foreach ($_POST as $campo => $valor) $$campo = processaString($valor);

	$Config = array(
		'arquivo'=>'configuracoes',
		'tabela'=>'configuracoes',
		'id'=>'id_configuracao',
		'urlfixo'=>'', 
		'pasta'=>'configuracoes',
	);

	$dados = array(
		'configuracao_id_empresa'=>1,
		'configuracao_nome_empresa'=>$configuracao_nome_empresa,
		'configuracao_url_empresa'=>$configuracao_url_empresa,
		'configuracao_estado_empresa'=>$configuracao_estado_empresa,
		'configuracao_cidade_empresa'=>$configuracao_cidade_empresa
	);





	// -----------------------------------------------------------------------------------------------------------
	// Incluir ou alterar dados no banco de dados
	// -----------------------------------------------------------------------------------------------------------

	if ($_GET['faz']=="dados") :

		if ($$Config['id'][0]):
			$update = $BancoDeDados->update($Config['tabela'],array($dados),array(':id_configuracao'=>$$Config['id'])); 
			redirect(site_url(DIR_ADM)."/sys/".$Config['tabela']."/msg/atualizado");
		else:
			$insert = $BancoDeDados->insert($Config['tabela'],$dados);
			$id 	= $BancoDeDados->last_insert_id();
			redirect(site_url(DIR_ADM)."/sys/".$Config['tabela']."/msg/cadastrado");
		endif;

	endif;

bom, e para ele checar se tem id, se tiver fazer o update

se não cadastra, o meu problema e nessa hora de fazer o update

nessa linha

$update = $BancoDeDados->update($Config['tabela'],array($dados),array(':id_configuracao'=>$$Config['id'])); 

tem algo a mais para acrescentar?

att

Share this post


Link to post
Share on other sites

Depende cara.. dá erro ? qual ?

Não conhecemos esse teu objeto, e nem o que o método update faz ou os parâmetros dele.

Share this post


Link to post
Share on other sites

Então, para fazer o update como está na github ta assim

# Update Query
	$result = $db->update('tablename',array('thisfield' => value, 'field2'=>value2),array('conditionfield'=>conValue));

o meu ta assim

$update = $BancoDeDados->update($Config['tabela'],array($dados),array(':id_configuracao'=>$$Config['id'])); 

onde $Config['tabela'] vai pegar o valor da $Config = array( 'tabela'=>'configuracoes');

e $dados todas colunas que quero atualizar, agora minha duvida é no array('conditionfield'=>conValue));

para mim é onde pega o id que e para ser atualizado, porem não to sabendo como fazer a separação de quando é uma id atualizar e cadastrar que fica aqui.

if ($_GET['faz']=="dados") :

		if ($$Config['id'][0]):
			$update = $BancoDeDados->update($Config['tabela'],array($dados),array(':id_configuracao'=>$$Config['id'])); 
			redirect(site_url(DIR_ADM)."/sys/".$Config['tabela']."/msg/atualizado");
		else:
			$insert = $BancoDeDados->insert($Config['tabela'],$dados);
			$id 	= $BancoDeDados->last_insert_id();
			redirect(site_url(DIR_ADM)."/sys/".$Config['tabela']."/msg/cadastrado");
		endif;

	endif;

Share this post


Link to post
Share on other sites

Esse $$, isso ta assim msm? ou é falha do editor aqui do forum ?? $$Config

 

Na array config esta "id_conf.."(sem : "dois pontos") no update esta ":id_conf.."(com dois pontos).

 

você tem que verificar isso e tmb seu $_GET e $Config['id'][0] se realmente estão retornando true pra entrar no update.

 

$update = $BancoDeDados->update($Config['tabela'],array($dados),array('id_configuracao'=>$Config['id'])); 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.