Отображение вопросов и ответов из базы данных mysql с php в html-форму в веб-интерфейсе - PullRequest
0 голосов
/ 28 декабря 2010

У меня есть 3 таблицы в базе данных mySQL.

questions_table с этими полями:

  1. question_id (уникальный идентификатор вопроса)
  2. вопрос_имя (название вопроса)
  3. question_positionID (позиция вопроса, мне это нужно, потому что администраторы могут изменять позиции вопросовв форме HTML в веб-интерфейсе. Я использую это для отображения вопросов в форме соответственно)

questions_users_relationship_table с этими полями:

  1. questions_answers (это поле, в котором хранятся ответы пользователей в форме веб-интерфейса)
  2. user_id (используется для подключения к таблице пользователей при загрузке ответов конкретного пользователя в форму)
  3. question_id (используется для ссылки на вопрос в таблице вопросов)

users_table с этими полями:

  1. user_id (уникальный идентификатор)
  2. имя пользователя (как следует из названия, имя пользователя)
  3. пароль (как следует из названия, пароль)

Итак, эээ .. Причина, по которой эти 3 таблицы находятся в базе данных, заключается в том, что мне нужно создать на веб-сайте раздел администратора, который позволяет администраторам переключать и изменять положение вопросов в форме.Поэтому причина для поля question_positionID в questions_table.У меня нет проблем с перечислением вопросов и соответствующих ответов в разделе администратора, чтобы администраторы могли изменить положение (я использовал ajax drag n drop, чтобы обновить таблицу mysql в поле question_positionID) ..

Моя проблема заключается в самой HTML-форме внешнего интерфейса.Потому что в базе данных я только сохранял вопросы, а также их ответы в соответствующих таблицах ... и не сохранял, какие это типы вопросов (например: гендерный вопрос может использовать переключатели для своих ответов (мужской / женский) илиможет быть, поле адреса, в котором есть поле Страна с ответами в форме раскрывающегося списка) .. Итак, в html-форме внешнего интерфейса я не уверен, как составить список вопросов и их ответов для соответствующего user_id, отсортированного на основеquestion_positionID и все равно будет правильно отображать правильные элементы формы (пример: вопросы с выпадающим списком со списком значений в выпадающих списках, вопросы с ответами в переключателях будут правильно проверяться в соответствующих переключателях и т. д. и т. д.)

Я полагаю, что многие люди хотели бы знать, как это сделать .. Я не эксперт в PHP и MySQL и медленно изучаю его на примерах и онлайн-учебниках. Поэтому я был бы признателен, если бы вы, ребята, смогли пролить свет на этовопрос мой ..

1 Ответ

1 голос
/ 28 декабря 2010

Вы должны добавить еще одну таблицу с ответами:

Ответ

  • answer_id
  • question_id
  • ANSWER_TEXT

Если существует несколько правильных ответов, вам также необходимо добавить в таблицу столбец «is_correct».

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

$question//the question
$answers //an array with the possible answers
$maxAnswersForRadio//maximum numbers of oprions to be displayed with radio buttons 
if($question['allow_multiple_answers'){
  //use checkboxes to allow mulltiple answers.
  $html = generateCheckboxes($answers);
}
else{
   if (count($answers<=$maxAnswersForRadio){
      $html= generateRadioButtons($answers);
   }
   else{
      $html=generateDropDownList($answers);
   }
} 

Это всего лишь пример. Решение зависит от используемого вами механизма фреймворка / шаблона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...