_Leonchik_
Новичок
есть задача, нет правильной идеи для реализации
С наступившем Новым Годом!
суть в следующем:
есть перечень уроков в таблице и есть тесты для данных уроков в др. таблице(на один урок - 1 тест).
есть юзеры (живут в своей таблице), кот. проходят тесты (заносим в таблицу с прошедшими тестами, их балы, дата, и т.д.)
Для юзеров имеется так сказать учебный план, т.е. он не может пройти 2-ой тест, если он не прошел первый.
Это реализованно спец. полем (Сортировка уроков) в таблице уроков.
Пример:
математика 1 семестр. (Сорт - 1)
математика 2 семестр. (Сорт - 2)
математика 3 семестр. (Сорт - 3)
задача состоит в том:
1. чтобы не дать пройти юзеру тест, кот. он не имеет права (он не прошел предыдущий)
2. не дать повторно пройти тест.
Про клике на сылку(кнопку) для прохождения теста. надо учесть все моменты:
Делаю следующим образом:
1. выгребаю все тесты из базы(согласно сортировки или уч. плана) в массив
2. выбираю тесты, кот. юзер прошел. в массив
В 1 цикле проходим по всем имеющимся тестам. Во 2-ом вложенном цикле по прошедшим юзером тестам. и сравниваем.
Но получается, что мы бегаем по массиву юзера столько раз, сколько у нас уроков.
И наверняка. когда их будет много - скажется на производительности!
Что посоветуете?
загвоздка в учеб. плане - это очевидно.
как по др. его можно реализовать?
-~{}~ 03.01.07 18:19:
Есть вариант еще:
проходя по всем урокам заглядывать в табл. прошедших тестов. и смотреть ,данный тест уже проходили? нет? берите! проходили - болт вам.
также созгласно сортировки.
С наступившем Новым Годом!
суть в следующем:
есть перечень уроков в таблице и есть тесты для данных уроков в др. таблице(на один урок - 1 тест).
есть юзеры (живут в своей таблице), кот. проходят тесты (заносим в таблицу с прошедшими тестами, их балы, дата, и т.д.)
Для юзеров имеется так сказать учебный план, т.е. он не может пройти 2-ой тест, если он не прошел первый.
Это реализованно спец. полем (Сортировка уроков) в таблице уроков.
Пример:
математика 1 семестр. (Сорт - 1)
математика 2 семестр. (Сорт - 2)
математика 3 семестр. (Сорт - 3)
задача состоит в том:
1. чтобы не дать пройти юзеру тест, кот. он не имеет права (он не прошел предыдущий)
2. не дать повторно пройти тест.
Про клике на сылку(кнопку) для прохождения теста. надо учесть все моменты:
Делаю следующим образом:
1. выгребаю все тесты из базы(согласно сортировки или уч. плана) в массив
2. выбираю тесты, кот. юзер прошел. в массив
В 1 цикле проходим по всем имеющимся тестам. Во 2-ом вложенном цикле по прошедшим юзером тестам. и сравниваем.
Но получается, что мы бегаем по массиву юзера столько раз, сколько у нас уроков.
И наверняка. когда их будет много - скажется на производительности!
Что посоветуете?
загвоздка в учеб. плане - это очевидно.
как по др. его можно реализовать?
-~{}~ 03.01.07 18:19:
Есть вариант еще:
проходя по всем урокам заглядывать в табл. прошедших тестов. и смотреть ,данный тест уже проходили? нет? берите! проходили - болт вам.
также созгласно сортировки.
