Seguinte: tenho um incidente na aplicação em que o usuário que abriu o chamado é mostrado nesta tela e ao lado tenho um botão que deve transferir o incidente para a pessoa que clicar neste botão. O código está assim:
$login = $_SESSION['login']; function __autoload($classe) { if(file_exists("../app.ado/{$classe}.class.php")) { include_once "../app.ado/{$classe}.class.php"; } } if(isset($_GET['id'])&&$_GET['id']>0){ try {
$help =newHelpGroupUser(); // abre uma transação TTransaction::open('dbsms_sdk'); // cria uma instrução de INSERT $sql =newTSqlUpdate; // define o nome da entidade
$sql->setEntity('sms_sms'); // atribui o valor de cada coluna //$sql->setRowData('usuario', $login); $sql->setRowData('usuario', $new_sessionid); // $sql->setRowData('sms_data_finalizado',date("Y-m-d H:i")); // cria critério de seleção de dados $criteria =newTCriteria; $criteria->add(newTFilter('sms_id','=',$_GET['id']));
$sql->setCriteria($criteria); // obtém a conexão ativa $conn =TTransaction::get(); // executa a instrução SQL $result = $conn->Query($sql->getInstruction()); // fecha a transação, aplicando todas operações TTransaction::close(); echo "Você assumiu o incidente"; // echo "<script>alert('Dados gavados com sucesso');</script>"; //echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=ger_sms.php'>"; } catch(Exception $e) { // exibe a mensagem de erro echo $e->getMessage(); echo "<script>alert('Erro:'.$e->getMessage());</script>"; // desfaz operações realizadas durante a transação TTransaction::rollback(); //echo "false"; //echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=ger_sms.php'>"; } }
?>
Ele deveria fazer um update na tabela depois que o usuário logado clicasse nesse botão, porém, não está fazendo. Essa foi a última tentativa que fiz, mas fiz também <code>$sql->setRowData('usuario', $_SESSION['login']);</code>, entre outras. A pergunta é: O que está faltando para meu código dar certo? Será que preciso criar outra coluna na base de dados ?
Pergunta
joeythai
Boa tarde pessoal
Seguinte: tenho um incidente na aplicação em que o usuário que abriu o chamado é mostrado nesta tela e ao lado tenho um botão que deve transferir o incidente para a pessoa que clicar neste botão. O código está assim:
<code>
<td><a href=\"#\" id=\"{$campos['sms_id']}\" onclick=\"assumir('executor.php?id=','{$campos['usuario]}');\"
style=' border:0px;'><img src=\"..\images\play.gif\" width=\"20\" height=\"20\" style='border:0px;' alt='Assumir Incidente'/></a></td>";
</code>
O código acima exibe o botão que falei, ao clicar no botão o sistema encaminha a solicitação para a página executor.php, cujo código é este:
<?php
session_start();
$old_sessionid = session_id();
session_regenerate_id();
$new_sessionid = session_id();
$login = $_SESSION['login'];
function __autoload($classe)
{
if (file_exists("../app.ado/{$classe}.class.php"))
{
include_once "../app.ado/{$classe}.class.php";
}
}
if (isset($_GET['id'])&&$_GET['id']>0) {
try
{
$help = new HelpGroupUser();
// abre uma transação
TTransaction::open('dbsms_sdk');
// cria uma instrução de INSERT
$sql = new TSqlUpdate;
// define o nome da entidade
$sql->setEntity('sms_sms');
// atribui o valor de cada coluna
//$sql->setRowData('usuario', $login);
$sql->setRowData('usuario', $new_sessionid);
// $sql->setRowData('sms_data_finalizado',date("Y-m-d H:i"));
// cria critério de seleção de dados
$criteria = new TCriteria;
$criteria->add(new TFilter('sms_id', '=',$_GET['id']));
$sql->setCriteria($criteria);
// obtém a conexão ativa
$conn = TTransaction::get();
// executa a instrução SQL
$result = $conn->Query($sql->getInstruction());
// fecha a transação, aplicando todas operações
TTransaction::close();
echo "Você assumiu o incidente";
// echo "<script>alert('Dados gavados com sucesso');</script>";
//echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=ger_sms.php'>";
}
catch (Exception $e)
{
// exibe a mensagem de erro
echo $e->getMessage();
echo "<script>alert('Erro:'.$e->getMessage());</script>";
// desfaz operações realizadas durante a transação
TTransaction::rollback();
//echo "false";
//echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=ger_sms.php'>";
}
}
?>
Ele deveria fazer um update na tabela depois que o usuário logado clicasse nesse botão, porém, não está fazendo. Essa foi a última tentativa que fiz, mas fiz também <code>$sql->setRowData('usuario', $_SESSION['login']);</code>, entre outras. A pergunta é: O que está faltando para meu código dar certo? Será que preciso criar outra coluna na base de dados ?
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.