Exemplo n.º 1
0
}
$balls = $result->fetchAll(PDO::FETCH_ASSOC);
foreach ($myPost as $val) {
    // Убрано после новости о том, что можно удалять балл
    //if($val['ball']==='') continue;
    if ($val['ball'] === 'н') {
        $val['ball'] = -1;
    }
    $b = RPU::filterBy($balls, array('id_km' => $val['id_km'], 'numst' => $val['numst']));
    if (!empty($b)) {
        if ($b['ball'] === $val['ball']) {
            continue;
        }
        $where = $val;
        unset($where['ball']);
        if ($val['ball'] === '') {
            if (!RPDB::delete('st_ball', $where)) {
                throw new Exception("Ошибка удаления бала");
            }
        } else {
            if (!RPDB::update('st_ball', array('ball' => $val['ball']), $where)) {
                throw new Exception("Ошибка обновления баллов");
            }
        }
    } else {
        //Вставить
        if (!RPDB::insert('st_ball', $val)) {
            throw new Exception("Ошибка добавления баллов");
        }
    }
}
Exemplo n.º 2
0
if (!RPRole::getPermitOne('journal_edit')) {
    RPH::errorPage("Ошибка доступа");
}
$myPost = json_decode(file_get_contents('php://input'), true);
$link = $_GET['id_tup_d'];
$MsSQL = RPDB::connect();
//Получаем существующие баллы в БД для измененных студентов
$result = $MsSQL->prepare('select * from started where id_tup_d = ? and numst IN (' . RPU::plas(array_keys($myPost)) . ')');
if (!$result->execute(array_merge(array($link), array_keys($myPost)))) {
    throw new Exception("Ошибка получения приступил/не приступил");
}
$pr = $result->fetchAll(PDO::FETCH_ASSOC);
foreach ($myPost as $numst => $flag) {
    $b = RPU::filterBy($pr, array('numst' => $numst));
    if (!empty($b)) {
        //Обновить
        if ($flag === $b['flag']) {
            continue;
        }
        $where = array('id_tup_d' => $link, 'numst' => $numst);
        if (!RPDB::update('started', array('flag' => $flag), $where)) {
            throw new Exception("Ошибка обновления присупил/не приступил");
        }
    } else {
        //Вставить
        $field = array('id_tup_d' => $link, 'numst' => $numst, 'flag' => $flag);
        if (!RPDB::insert('started', $field)) {
            throw new Exception("Ошибка добавления присупил/не приступил");
        }
    }
}