Não consigo fazer update

1. Não consigo fazer update

Emerson
emersona

(usa Outra)

Enviado em 11/10/2012 - 17:30h

Prezados,
Tenho uma tabela de alertas no banco de dados com as seguintes colunas: Nome, Cor, Descrição. As informações contidas nesta tabela vão para uma determinada página no site que desenvolvo. Nesta página contém as opções de cadastrar um novo alerta, editar um alerta existente e excluir um alerta.
Meu problema é com a opção editar. O usuário só pode editar a cor e a descrição. E é aí que está o problema, quando o usuário edita apenas um campo ou dois e manda salvar a linha que foi editada fica em branco, a função que estou usando só aceita se eu editar todas as três colunas (nome, cor e descrição). vou colocar o código abaixo e agradeço se puderem me ajudar. Estou utilizando o CakePhp.

Este código está no controller:
if($nome)
{
if($this->NivelAlerta->editarNivel($this->data, $nome)) //Chama Função no Model. Envia nome, cor, descricao recebidos de get_nivel.ctp e
o nome do alerta antes de ser editado.
$this->set('redirect', "<script>location.href='/admin/nivel/index';</script>");
else
$this->Session->setFlash("Erro ao cadastrar nivel de alerta!");
}

_______________________________________________________________________

código no Model:
public function editarNivel($nivel_alerta, $nome) //$nivel_alerta são os dados editados. $nome é o nome do Nivel antes de ser editado.
{
$alterado_ok = false;
$dataSource = $this->getDataSource();

//foreach sobre os novos dados
foreach($nivel_alerta as $nivel => $v)
{
$cor = $v['cor'];
$descricao = $v['descricao'];
}

$dataSource->begin($this);
$query = "UPDATE nivel_alerta set cor = '$cor', descricao = '$descricao' WHERE nome = '$nome';";

if($this->query($query))
{
$dataSource->commit($this);
$alterado_ok = true;
}
else
{
$dataSource->rollback($this);
}

return $alterado_ok;
}


  


2. Re: Não consigo fazer update

cr0n
_di0

(usa FreeBSD)

Enviado em 11/10/2012 - 18:24h

Antes de você chamar a função editarNivel(), você checa com a função global debug(), a fim de garantir que realmente $this->data está armazenando os dados corretos?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts