[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Задача с базой данных
Bruda
Всем добрый день!

Есть база данных вопросов mysql с разными ячейками (сам вопрос, варианты ответов, автор и т.д., не столь важно).

Я хочу сделать так, чтобы каждому пользователю, допустим, приходил из базы 1 случайный вопрос. Если он на него дал ответ, то чтобы этот вопрос больше ему не приходил, а приходили все остальные. И когда все вопросы кончатся в базе (и он на все дал ответы), ему бы приходило сообщение, что новых вопросов пока что нет. ohmy.gif

Можете по этой теме подсказать, как можно реализовать такое?


Спасибо.
Эли4ка
Цитата
Можете по этой теме подсказать, как можно реализовать такое?

Проще простого. Заводите отдельную таблицу, куда складываете вопросы на которые уже ответил пользователь и сравниваете с таблицей где вопросы, каких не встречаются-их показываем.
P.S. Я в другой теме просила вас оформить код, чтобы решить проблему-вы мою просьбу проигнорировали.
Valick
Bruda, сдаётся мне, что своим голым энтузиазмом ты хочешь компенсировать отсутствие знаний по php и mysql. Это не прокатит. При таком подходе скоро ты станешь не интересен и на твои темы, которые кстати не надо плодить по каждому чиху, перестанут отвечать.
Организация архитектуры БД это 50% работы над проектом, даже в таком простом случае как тесты. И слова "это не столь важно" вообще нельзя употреблять в сторону базы данных. БД - это фундамент приложения, нет ничего важнее фундамента.


_____________
Стимулятор ~yoomoney - 41001303250491
Bruda
Цитата (Эли4ка @ 9.03.2019 - 09:58)
Цитата
Можете по этой теме подсказать, как можно реализовать такое?

Проще простого. Заводите отдельную таблицу, куда складываете вопросы на которые уже ответил пользователь и сравниваете с таблицей где вопросы, каких не встречаются-их показываем.
P.S. Я в другой теме просила вас оформить код, чтобы решить проблему-вы мою просьбу проигнорировали.

Эличка,

я учел всю данную мне информацию от всех пользователей, и все заработало huh.gif
мне Valick написал, что лучше писать html и php отдельно, это я учту.
И вам тоже большое спасибо конечно же. biggrin.gif
Bruda
Цитата (Valick @ 9.03.2019 - 10:55)
Bruda, сдаётся мне, что своим голым энтузиазмом ты хочешь компенсировать отсутствие знаний по php и mysql. Это не прокатит. При таком подходе скоро ты станешь не интересен и на твои темы, которые кстати не надо плодить по каждому чиху, перестанут отвечать.
Организация архитектуры БД это 50% работы над проектом, даже в таком простом случае как тесты. И слова "это не столь важно" вообще нельзя употреблять в сторону базы данных. БД - это фундамент приложения, нет ничего важнее фундамента.

Я использую раздел форума для начинающих по прямому назначению - задаю вопросы и жду комментариев старших коллег. Я не программист, а именно новичок, и с php вожусь всего третью неделю. И специализация у меня ну совершенно другая biggrin.gif
А если вы хороший программист, то это здорово, что вы помогаете новичкам.
По поводу внимания к деталям - я всегда уделяю этому внимание. Просто здесь мне хотелось услышать направление движения, а не получить готовый код. Этот код я как раз хотел написать сам.
Valick
Цитата (Bruda @ 9.03.2019 - 10:16)
По поводу внимания к деталям - я всегда уделяю этому внимание.

Сколько бумажных книг по PHP и MySQL купленных в магазине стоят на полке у вас дома?

_____________
Стимулятор ~yoomoney - 41001303250491
Bruda
Цитата (Valick @ 9.03.2019 - 11:55)
Цитата (Bruda @ 9.03.2019 - 10:16)
По поводу внимания к деталям - я всегда уделяю этому внимание.

Сколько бумажных книг по PHP и MySQL купленных в магазине стоят на полке у вас дома?

Какая вам разница то biggrin.gif
Поверьте, что у меня есть кое что из книг по программированию, именно КУПЛЕННОЕ в магазине. Но думаю, что это уже мое личное дело.
Bruda
Как называется этот раздел?
PHP для начинающих.
Вроде все сходится, я начинающий пользователь и пишу здесь, и никакие пункты использования форума не нарушены. wink.gif
Я не прошу объяснить мне, что такое цикл FOR. А работа с БД - это по моему уже хоть какой-то, но СЛЕДУЮЩИЙ шаг изучения программирования, а не самый первый.
arbuzmaster
В общем дело обстоит примерно так:
1 Нужно создать таблицу [id][user][question][executed]
2 При регистрации пользователя в таблицу будут вставляться данные (id, login, номер вопроса, 0 ) и так по всем вопросам с 1 по n...
3 Перед тем как доставать вопрос из таблицы ВОПРОСОВ, делается выборка по ПОЛЬЗОВАТЕЛЮ из созданной таблицы с номерами вопросов у которых [executed] = 0 если таких нет, то пишем Все опросы пройдены и заканчиваем работу скрипта.
4 Далее делается запрос на вывод вопроса с учетом данных из п.3
5 Выводится вопросы и ответы на которые ПОЛЬЗОВАТЕЛЬ еще не давал ответа
6 После получения ответ в таблицу в поле [executed] ставится 1
7 По желанию можно в п.3 удалять все поля по ПОЛЬЗОВАТЕЛЮ у которого [executed] = 1 или оставить для статистики.


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Valick
arbuzmaster, перемудрил
В таблицу связи необходимо заносить только ответы на вопрос, всё остальное вычисляется автоматически. И не логин, а идентификатор пользователя. Временную метку ответа (а при желании и метку показа вопроса, для того что бы знать сколько времени ушло на ответ).


_____________
Стимулятор ~yoomoney - 41001303250491
arbuzmaster
Цитата (Valick @ 9.03.2019 - 13:02)
arbuzmaster, перемудрил

Ok, я понял. Главное теперь, чтобы ТС понял что к чему!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.