public static function SheetUpdate(Ab_Database $db, $d) { if (count($d->arrStudId) > 0) { $addlistid = $d->arrStudId; //массив добавления студентов $rows = RecordBookQuery::StudidListFromMark($db, $d->idSheet); $remlistid = array(); //массив удаления студентов while ($dd = $db->fetch_array($rows)) { $isRemove = true; foreach ($addlistid as $key => $id) { if ($id == $dd['id']) { $isRemove = false; unset($addlistid[$key]); break; } } if ($isRemove) { $remlistid[] = $dd['id']; } } if (count($remlistid) > 0) { $remstr = implode(',', $remlistid); $sql = "\n\t\t\t\t\t\tDELETE FROM " . $db->prefix . "rb_marks\n\t\t \t\t\tWHERE sheetid=" . bkint($d->idSheet) . " AND studid IN (" . $remstr . ")\n\t\t\t\t"; $db->query_write($sql); } if (count($addlistid) > 0) { RecordBookQuery::AppendMarks($db, $addlistid, $d->idSheet); } } $sql = "\n\t\t\t\tUPDATE " . $db->prefix . "rb_sheet\n\t\t\t\tSET\n\t\t\t\t\tdate=" . bkint($d->date) . ",\n\t\t\t\t\tteacherid=" . bkint($d->teacherid) . "\n\t\t\t\tWHERE sheetid=" . bkint($d->idSheet) . "\n\t\t\t\tLIMIT 1\n\t\t"; $db->query_write($sql); }