Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача даных на другую машину
 
 автор: AHTo)(@   (14.02.2007 в 10:58)   письмо автору
 
 

Я работаю в школе учителем информатики. Для своей школы мне необходимо разработать на php программу для тестирования учащихся. Принцип действия таков. Компьютеры объединены в локальную сеть. Учащийся на своей машине выполняет свой вариант теста, а затем результаты передаются на машину учителя. Подскажите, пожалуйста, как это можно реализовать. Может Apache или PHP как настроить? У меня связка Apache2.0.0.48 и PHP4.2.1

   
 
 автор: ZuArt   (14.02.2007 в 11:46)   письмо автору
 
   для: AHTo)(@   (14.02.2007 в 10:58)
 

можно еще добавить БД, чтобы вопросы хранить и собственно базу учащихся =)))

а вообще

База:
таблица вопросов
id:заголовок:текст:варианты:номер правильного

таблица учащихся
id:ФИО

таблица тестирования
id:id_учащ:дата:строка из набора вопрос-ответ:результат

строка вопрос-ответ "id_вопр=ответ+id_вопр=jndtn+...+id_вопр=отв"

При заходе на страничку начала выбирается ученик, и дальше в скрытом поле его текущий id_теста передавать скрипту... скрипт берет случайным образом вопрос и выдает его на экран, при ответе на него по id_теста дописывает в таблицу тестирования... и генерит новый вопрос (проверяя, чтобы он не повторился из заданных)... так пока юзер не пройдет N-ое кол-во вопросов... по ответу на последний вопрос, производится подсчет правильных ответов и запись в базу + вывод результата...

   
 
 автор: Trianon   (14.02.2007 в 11:51)   письмо автору
 
   для: ZuArt   (14.02.2007 в 11:46)
 

Таблица вопросов и таблица тестирования требуют нормализации.

   
 
 автор: ZuArt   (14.02.2007 в 12:04)   письмо автору
 
   для: Trianon   (14.02.2007 в 11:51)
 

насчет таблицы тестирования - соглашусь... я написал на скорую руку вариант...
а вот насчет таблицы вопросов... хотелось-бы узнать, ЧТО там можно нормализовать =))))) ?
Выносит варианты в отдельную таблицу нет смысла, т.к. варианты ответов специфичны для каждого вопроса, и являются простым текстом для вывода на экран... Как вариант - можно просто объединить поля заголовок, текст, варианты - сразу отформатировав его вывод в БД... т.к. это просто тупо из базы выводится на экран...

   
 
 автор: Trianon   (14.02.2007 в 12:15)   письмо автору
 
   для: ZuArt   (14.02.2007 в 12:04)
 

Как-то так:

questions (id, q_text, right_answer_id, timeout_value)
q_answers(id, a_text, question_id, is_right)

test(id, t_datetime, stud_id)
t_answers(id, test_id, a_time)


timeout_value - предельное время раздумывания над вопросом.
a_time - фактическое время ответа.
поле is_right требуется лишь в том случае, если допускается несколько (либо ни одного) правильных ответов на один вопрос.

   
 
 автор: ZuArt   (14.02.2007 в 12:18)   письмо автору
 
   для: Trianon   (14.02.2007 в 12:15)
 

это называется не НОРМАЛИЗАЦИЯ БД, а РАСШИРЕНИЕ или ДОПОЛНЕНИЕ...

понятие нормализации в себя включает ДРУГОЙ смысл =)))

   
 
 автор: Loki   (14.02.2007 в 12:25)   письмо автору
 
   для: ZuArt   (14.02.2007 в 12:18)
 

Люблю когда у человека здоровое чувство юмора...

Нормализацией схемы базы данных называется процедура, производимая над базой данных с целью удаления в ней избыточности.

   
 
 автор: Trianon   (14.02.2007 в 12:32)   письмо автору
 
   для: Loki   (14.02.2007 в 12:25)
 

>Нормализацией схемы базы данных называется процедура, производимая над базой данных с целью удаления в ней избыточности.
на самом деле - не только.

   
 
 автор: ZuArt   (14.02.2007 в 13:00)   письмо автору
 
   для: Trianon   (14.02.2007 в 12:32)
 

еще не удалось создать ни одного робота, который сможет играть с человеком на равных... но "на самом деле" - это возможно... просто в будущем =)))

   
 
 автор: ZuArt   (14.02.2007 в 12:23)   письмо автору
 
   для: Trianon   (14.02.2007 в 12:15)
 

и кстати... что-то на мой взгляд потеряна связка между правильностью-неправильностью ответа =))) во время прохождения теста + отслеживание НА КАОЙ из вопросов дан правильный/неправильный ответ =))) так что как-то "нормализована" БД с частичной потерей функционала... а время на прохождение теста (а не каждого вопроса) - как правило определяет ПРЕПОДАВАТЕЛЬ, т.к. система нужна для школы, а потому этот аспект вообще ненужен, особенно, если учесть, что тест может быть дан на пару, а вот перемена минут на 10 вынуждает учеников сидеть и отвечать, вместо того, чтобы с ПОЛНЫМ правом пойти подышать/покурить... или нужно еще и систему "пауза" предусмотреть (которой можно будет пользоваться на каждом вопросе, если ученик не тупой и сообразит сделать это)

   
 
 автор: Trianon   (14.02.2007 в 12:29)   письмо автору
 
   для: ZuArt   (14.02.2007 в 12:23)
 

Читайте определение первой нормальной формы.
Например, тут:http://www.mstu.edu.ru/education/materials/zelenkov/ch_4_2.html

Касательно таймаутов - я ж не говорю, что нельзя сделать по-другому. Можно.

   
 
 автор: ZuArt   (14.02.2007 в 12:57)   письмо автору
 
   для: Trianon   (14.02.2007 в 12:29)
 

Можно сделать глобальную систему учета всех учеников школ города, связать воедино всю систему тестирования (аля единый экзамен), проставить расписание с подключением построения графикоф и алгоритмов распределения + подключить в качестве проверяющего и составляющего вопросы и тесты органа систему нейронных сетей и все это забацать на выделенные серваки с динамическим распределением нагрузки - будет КРУТО!!! Тока НАФ?

человек поставил простую задачу, ему предложили простое решение, накручивать и наращивать пока не потребовалось, иначе бы давно был вопрос типа "а как добавить то или другое". =)))

   
 
 автор: Trianon   (14.02.2007 в 13:12)   письмо автору
 
   для: ZuArt   (14.02.2007 в 12:57)
 

При чем тут всё это...
Таблица вопросов в Вашем исполнении требует нормализации из-за поля "варианты" . Это сложный атрибут, значения его не являются атомарными.
Таблица тестирования требует нормализации из-за поля "строка из набора вопрос-ответ" .
По той же причине.

Поймите, нормализованные базы применяют не потому что это модно, не потому что препод заставляет, и не потому что крутой профи (Кстати, профи иногда даже денормализуют базы в угоду эффективности) .
Нормализованные базы применяют потому, что их в двадцать раз проще применять, и при этом не запутаться. А новичку - во все двести.

   
 
 автор: AHTo)(@   (15.02.2007 в 17:32)   письмо автору
 
   для: Trianon   (14.02.2007 в 13:12)
 

Ладно, допустим с БД я разобрался. И структуру придумал, какую мне надо. Вопрос в другом-как реализовать механизм передачи данных с машины на машину??? Сервер MySQL установлен на компе учителя. По сути, при выборке записей из БД, должно происходить подключение к БД, расположенной на удаленной машине, с ней и должна осуществляться работа.

   
 
 автор: Trianon   (15.02.2007 в 17:44)   письмо автору
 
   для: AHTo)(@   (15.02.2007 в 17:32)
 

Так и www-сервер на компе учителя?

   
 
 автор: AHTo)(@   (16.02.2007 в 16:36)   письмо автору
 
   для: Trianon   (15.02.2007 в 17:44)
 

В смысле? У нас в школе нет интернета, посему передача данных будет происходить в рамках обслуживания локалки.

   
 
 автор: Unkind   (16.02.2007 в 16:58)   письмо автору
 
   для: AHTo)(@   (16.02.2007 в 16:36)
 

Apache - это и есть WWW-сервер.

   
 
 автор: ddhvvn   (16.02.2007 в 17:12)   письмо автору
 
   для: Unkind   (16.02.2007 в 16:58)
 

...и поставить его можно для локальной сети!

   
 
 автор: AHTo)(@   (18.02.2007 в 01:13)   письмо автору
 
   для: ddhvvn   (16.02.2007 в 17:12)
 

В том-то и вопрос-как? Это будут такие же настройки Apache, как и на локальной машине, или как-то по-другому?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования