'; else echo ''; } else if ($req_cmd == 'load') { $ldres = false; if (isset ($_FILES['loadfilename']['tmp_name']) && $_FILES['loadfilename']['size']) { $quest = load_questions ($_FILES['loadfilename']['tmp_name']); if ($quest) { if (isset ($req_loadoverwrite) && $req_loadoverwrite == 'on') amysql_query ("TRUNCATE TABLE `$QuestionsTable`"); if (load_into_database ($QuestionsTable, $quest)) $ldres = true; } if (is_uploaded_file ($_FILES['loadfilename']['tmp_name'])) unlink ($_FILES['loadfilename']['tmp_name']); } mysql_finish (); if ($ldres) echo ''; else echo ''; } else if ($cmd == 'plustest' || $cmd == 'minustest' || $cmd == 'cleartest') { if ($cmd == 'plustest') { if (isset ($req_searchdate) && strlen ($req_searchdate) > 0) { $req_searchdate = mysql_escape_string ($req_searchdate); $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`+1 WHERE `date` >= '$req_searchdate'"); } else { $subl = mysql_escape_string($req_searchlogin); $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`+1 WHERE !(INSTR(`login`,'$subl')=0)"); } } else if ($cmd == 'minustest') { if (isset ($req_searchdate) && strlen ($req_searchdate) > 0) { $req_searchdate = mysql_escape_string ($req_searchdate); $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`-1 WHERE `date` >= '$req_searchdate' AND `testlimit`>0"); } else { $subl = mysql_escape_string($req_searchlogin); $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=`testlimit`-1 WHERE !(INSTR(`login`,'$subl')=0) AND `testlimit`>0"); } } else { if (isset ($req_searchdate) && strlen ($req_searchdate) > 0) { $req_searchdate = mysql_escape_string ($req_searchdate); $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=0 WHERE `date` >= '$req_searchdate'"); } else { $subl = mysql_escape_string($req_searchlogin); $result = amysql_query ("UPDATE `$UsersTable` SET `testlimit`=0 WHERE !(INSTR(`login`,'$subl')=0)"); } } mysql_finish (); if ($result) echo ''; else echo ''; } } ?>
Система администрирования тестирования слушателей
 

0) { $req_searchdate = mysql_escape_string ($req_searchdate); $result = amysql_query ("SELECT * FROM `$UsersTable` WHERE `date` >= '$req_searchdate' ORDER BY `lastname`, `firstname`, `thirdname`"); } else { $subl = mysql_escape_string($req_searchlogin); $result = amysql_query ("SELECT * FROM `$UsersTable` WHERE !(INSTR(`login`,'$subl')=0) ORDER BY `lastname`, `firstname`, `thirdname`"); } if ($result && ($row = mysql_fetch_assoc ($result))) { echo ''; $usi = 1; do { $result2 = amysql_query ("SELECT `result`, CHAR_LENGTH(`answers`) FROM `$ResultsTable` WHERE `uid`=${row['id']} ORDER BY -`date`,-`time` LIMIT 1"); $row2 = false; if ($result2) $row2 = mysql_fetch_row ($result2); echo ""; $usi++; } while ($row = mysql_fetch_assoc ($result)); echo '
Логин +Тестов ФИО Город Организация Должность E-mail Телефон Опыт работы с ViPNet Зарегистрирован Результат
$usi " . ($req_cmd != 'prnusers' ? "" : '') . "${row['login']}" . ($req_cmd != 'prnusers' ? "" : '') . " ${row['testlimit']} ${row['lastname']} ${row['firstname']} ${row['thirdname']} ${row['town']} ${row['firm']} ${row['position']} ${row['email']} ${row['phone']} ${row['vipnet']} ${row['date']}
${row['time']}
" . ($row2 !== false ? floor(100*$row2[0]/$row2[1]) . '%
(' . $row2[0] . '/' . $row2[1] . ')' : '') . ($req_cmd != 'prnusers' ? " ..." : '') . " 
'; $cmdtail = (isset($req_searchdate) && strlen ($req_searchdate) > 0 ? 'searchdate=' . urlencode($req_searchdate) : 'searchlogin=' . urlencode($req_searchlogin)); if ($req_cmd != 'prnusers') echo '' . '' . '' . '' . '' . '' . '

'; else { echo '

Назад

'; exit; } } else if (!$result) $req_cfail = 10; else $req_cfail = 11; } else if (($req_cmd == 'results' || $req_cmd == 'prnresults') && isset ($req_uid)) { // Выдаём таблицу результатов ... $result = amysql_query ("SELECT * FROM `$UsersTable` WHERE `id`=$req_uid LIMIT 1"); $row = mysql_fetch_assoc ($result); echo "" . "" . "" . "" . "" . "" . "" . "" . "" . ""; $result = amysql_query ("SELECT CHAR_LENGTH(`answers`), `date`, `time`, `result`, `answers`, `varid` FROM `$ResultsTable` WHERE `uid`=$req_uid ORDER BY -`date`, -`time`"); $row2 = mysql_fetch_assoc ($result); $lastrow_d = 0; if ($result || !$row2) $lastrow_d = 1; echo "

ФИО

${row['lastname']} ${row['firstname']} ${row['thirdname']}

Город

${row['town']}

Организация

${row['firm']}

Должность

${row['position']}

E-mail

${row['email']}

Телефон

${row['phone']}

Опыт работы с ViPNet

${row['vipnet']}

Зарегистрирован

${row['date']} ${row['time']}

Логин

${row['login']}

Осталось тестов

${row['testlimit']}


"; $row = $row2; if ($result && $row) { $crcnt = 1 + $row['CHAR_LENGTH(`answers`)'] - 1; echo ''; echo ''; do { $crres = 1 + $row['result'] - 1; $crper = 100 * $crres / $crcnt; echo ""; } while ($row = mysql_fetch_assoc ($result)); echo '
Вариант тестаВремяДатаРезультат
${row['varid']}${row['time']}${row['date']}$crper% ($crres / $crcnt)
'; } if ($cmd != 'prnresults') echo '

Версия для печати    Назад

'; else { echo '

Назад

'; exit; } } else if ($cmd == 'prntests') { if (isset ($req_searchdate) && strlen ($req_searchdate) > 0) { $req_searchdate = mysql_escape_string ($req_searchdate); $result = amysql_query ("SELECT t1.lastname, t1.firstname, t1.thirdname, t2.* FROM `$UsersTable` AS t1, `$ResultsTable` AS t2 WHERE t1.date >= '$req_searchdate' AND t2.uid=t1.id ORDER BY t1.lastname, t1.firstname, t1.thirdname, -t2.date, -t2.time"); } else { $subl = mysql_escape_string($req_searchlogin); $result = amysql_query ("SELECT t1.lastname, t1.firstname, t1.thirdname, t2.* FROM `$UsersTable` AS t1, `$ResultsTable` AS t2 WHERE !(INSTR(t1.login,'$subl')=0) AND t2.uid=t1.id ORDER BY t1.lastname, t1.firstname, t1.thirdname, -t2.date, -t2.time"); } $cmdtail = (isset($req_searchdate) && strlen ($req_searchdate) > 0 ? 'searchdate=' . urlencode($req_searchdate) : 'searchlogin=' . urlencode($req_searchlogin)); if ($row = mysql_fetch_assoc ($result)) { echo ''; $msg = 'Показаны неверные ответы выбранных пользователей'; if (!isset ($req_nohide)) $msg .= ' (+ неотвеченные...)'; else $msg = 'Показаны неверные и неотвеченные ответы выбранных пользователей (-)'; if (!isset ($req_showall)) $msg .= ' (все...)'; else { if (isset ($req_nohide)) $msg = 'Показаны все ответы выбранных пользователей (- правильные)(-)'; else $msg = 'Показаны ответы выбранных пользователей'; } echo ''; $notfirst = 0; while ($row) { echo ''; $res2 = amysql_query ("SELECT * FROM `$QuestionsTable` WHERE `varid`=${row['varid']} ORDER BY `id`"); $quests = array (); while ($row2 = mysql_fetch_assoc ($res2)) { $quests [$row2['id']] = $row2; $quests [$row2['id']]['answer0'] = 'не отвечено'; } $allanswers = true; $noshown = true; $i = 0; foreach ($quests as $cq) { if (strlen ($row ['answers']) > $i) { if ($row['answers']{$i} != $cq['rightanswer']) { $allanswers = false; if ($row['answers']{$i} != 0 || isset ($req_nohide)) { echo ''; $noshown = false; } } else if (isset ($req_showall)) { echo ''; $noshown = false; } } } if ($allanswers) echo ''; else if ($noshown) echo ''; $row = mysql_fetch_assoc ($result); $notfirst = 1; } echo '
' . $msg . '
' . $row['lastname'] . ' ' . $row ['firstname'] . ' ' . $row ['thirdname'] . ': ' . floor (100 * $row['result'] / strlen ($row ['answers'])) . '%' . $row ['date'] . ' ' . $row ['time'] . '
' . $cq ['id'] . '. ' . $cq ['question'] . ' => ' . $cq ['answer' . $row['answers']{$i}] . '
' . $cq ['id'] . '. ' . $cq ['question'] . ' => ' . $cq ['answer' . $row['answers']{$i}] . '
Пользователь ответил на все вопросы правильно! Молодец :)
Пользователь не отвечал ни на один вопрос :(
'; } echo '

Внимание: для корректного вывода информации текущие вопросы в БД должны соответствовать тем, на которые отвечали выбранные пользователи
Назад

'; exit; } } mysql_finish (); ?> Результат операции: '; if (isset ($req_cok)) { if ($req_cok == 0) echo 'Инициализация БД прошла успешно.'; else if ($req_cok == 1) echo 'Файл успешно загружен в БД.'; else if ($req_cok == 2) echo 'Количество предписанных тестов успешно изменено.'; } else { if ($req_cfail == 0) echo 'При инициализации БД произошла ошибка.'; else if ($req_cfail == 1) echo 'При загрузке файла в БД произошла ошибка.'; else if ($req_cfail == 2) echo 'Ошибка изменения количества предписанных тестов.'; else if ($req_cfail == 10) echo 'Ошибка запроса к БД при выводе списка пользователей.'; else if ($req_cfail == 11) echo 'Таких пользователей нет.'; } echo '
'; } ?>
Возможные операции
 
Вывод информации о пользователях
 
Логин (пустой=все):
или зарегистрировавшиеся:
После YYYY-MM-DD:
Загрузка вопросов из текстового файла
 
Файл:
Перезаписать БД вопросов
Инициализация / очистка базы данных
 
Powered by VMX, 2006