Olá pessoal,
Estou tentando fazer um update numa tabela, mas não está dando certo. Para isso, criei alguns Métodos PHP, só um não está funcionando:
Método Preencher:
$id = {Usuario_ID}; $email = {Usuario_Email};$sql = "SELECT Usuario_ID, Grupo_ID, ME_ID, Cliente_ID, Usuario_Login,
Usuario_Senha, Usuario_Nome, Usuario_Email, Usuario_Atvo, Usuario_Altera
FROM a013_usuarios
WHERE Usuario_ID = $id ";sc_lookup(Ds, $sql);
if(!empty({Ds}))
{
{Cliente_ID} = {Ds[0][3]};
{Usuario_Login} = {Ds[0][4]};
{Usuario_Nome} = {Ds[0][6]};
{Usuario_Email} = {Ds[0][7]};
{Usuario_Ativo} = {Ds[0][8]};
{Usuario_Altera} = {Ds[0][9]};
};
Método Consultar:
$id = {Usuario_ID}; $email = {Usuario_Email};$sql = "SELECT Usuario_ID, Grupo_ID, ME_ID, Cliente_ID, Usuario_Login, Usuario_Senha, Usuario_Nome, Usuario_Email, Usuario_Atvo, Usuario_Altera FROM a013_usuarios WHERE Usuario_Email = '$email' "; if($id > 0){$sql .= " AND Usuario_ID <> $id ";}; sc_lookup(Ds, $sql); if(!empty({Ds})) { if($id == 0) { incluir(); } else if($id > 0) { alterar(); }; echo $id; } else if(empty({Ds})) { echo "Desculpe, este usuário já foi cadastrado."; };</blockquote>
Método Incluir:
$grupo = {Grupo_ID}; $me ={ME_ID}; $cliente ={Cliente_ID}; $login ={Usuario_Login}; $senha = md5({Usuario_Senha}); $nome ={Usuario_Nome}; $email ={Usuario_Email}; $ativo ={Usuario_Ativo}; $altera ={Usuario_Altera};if($cliente == 0)
{
$sql = “INSERT INTO a013_usuarios (Grupo_ID, ME_ID, Cliente_ID, Usuario_Login,
Usuario_Senha, Usuario_Nome, Usuario_Email, Usuario_Atvo, Usuario_Altera) VALUES (
$grupo, $me, NULL, ‘$login’, ‘$senha’, ‘$nome’, ‘$email’, $ativo, $altera);”;
} else
if($cliente > 0)
{
$sql = “INSERT INTO a013_usuarios (Grupo_ID, ME_ID, Cliente_ID, Usuario_Login,
Usuario_Senha, Usuario_Nome, Usuario_Email, Usuario_Atvo, Usuario_Altera) VALUES
($grupo, $me, $cliente, ‘$login’, ‘$senha’, ‘$nome’, ‘$email’, $ativo, $altera);”;
};sc_exec_sql ($sql);
Método Alterar:
$id = {Usuario_ID}; $grupo = {Grupo_ID}; $me ={ME_ID}; $cliente ={Cliente_ID}; $login ={Usuario_Login}; $senha = md5({Usuario_Senha}); $nome ={Usuario_Nome}; $email ={Usuario_Email}; $ativo ={Usuario_Ativo}; $altera ={Usuario_Altera};$sql = “UPDATE a013_usuarios SET
Grupo_ID = $grupo,
ME_ID = $me,”;
if({Cliente_ID} > 0) {$sql .= “Cliente_ID = $cliente,”;};
$sql .= “Usuario_Login = ‘$login’,
Usuario_Senha = ‘$senha’,
Usuario_Nome = ‘$nome’,
Usuario_Email = ‘$email’,
Usuario_Atvo = $ativo,
Usuario_Altera = $altera
WHERE Ussuario_ID = $id;”;sc_exec_sql ($sql);
Evento OnLoad:
if([vlGrupoID] == 1) { sc_field_disabled("Usuario_ID"); preencher(); } else if([vlGrupoID] <> 1) { desativacampos(); };Evento OnValidate:
consultar();O problema está ocorrendo apenas ao verificar se a variável $id está sendo informada ou não. No caso, está considerando sempre a variável igual a zero, mesmo quando o campo {Usuario_ID} está sendo preenchido.
Alguém consegue ver onde está o erro, pois já tentei de tudo e não consigo fazer um update, só insert. É como se a variável $id ou o campo {Usuario_ID} não estivessem sendo informados, mas o campo {Usuario_ID} está sendo preenchido corretamente no evento OnLoad.
Grato,
Ilano.