2015-01-04 1 views
0

Я пытаюсь создать forum с использованием базы данных jsp и mySql.застрять, чтобы создать таблицу ответов на форум?

Итак, в основном я застрял, чтобы создать дизайн для стола.

Я эту таблицу:

create table if not exists thread_question(
question_id INT NOT NULL auto_increment, 
person_name VARCHAR(100) NOT NULL, 
question_title VARCHAR(500) NOT NULL, 
question VARCHAR(100000) NOT NULL, 
question_dateTime VARCHAR(100) NOT NULL, 
PRIMARY KEY(question_id) 
); 

create table if not exists thread_answer(
answer_id INT NOT NULL auto_increment, 
person_name_answer VARCHAR(100) NOT NULL, 
answer VARCHAR(100000) NOT NULL, 
answer_dateTime VARCHAR(100) NOT NULL, 
PRIMARY KEY(answer_id) 
); 

Вот если я получать все ответы на эти вопросы, он показывает те же самые ответы по всем вопросам. Здесь я застрял ..

Итак, как показать ответ с отдельным вопросом, чтобы он показывал с другим вопросом. Надеюсь, ты понимаешь, что я пытаюсь сказать.

Несомненно, помощь будет оценена!

+0

Как связаны эти две таблицы? Как вы узнаете, какой ответ принадлежит какому вопросу? вам может потребоваться добавить поле, которое будет внешним ключом в thread_answer, в поле question_id thread_question. – SMA

+0

Хорошо. Наконец, я понял, что мне нужно будет вставить 'question's id' внутри таблицы ответов ... Но как бы вставить идентификатор вопроса внутри таблицы ответа? Есть идеи..? –

+0

alter table statement..see [this] (http://dev.mysql.com/doc/refman/5.1/en/alter-table.html), если таблица уже создана, добавьте такое же определение поля, как указано в таблице вопросов добавить ссылку на вопрос (question_id) – SMA

ответ

0

Вам необходимо связаться между вашими ответами и вашими вопросами.

Таким образом, вы должны определить thread_answer таблицу больше, как это:

create table if not exists thread_answer(
    answer_id INT NOT NULL auto_increment, 
    question_id INT NOT NULL references thread_question(question_id), 
    person_name_answer VARCHAR(100) NOT NULL, 
    answer VARCHAR(100000) NOT NULL, 
    answer_dateTime VARCHAR(100) NOT NULL, 
    PRIMARY KEY(answer_id) 
); 

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

Когда вы получаете ответы на все вопросы, вы можете добавить question_id = NNNN в свою часть WHERE, после чего вы получите ответы только на этот вопрос.