система тестирования

jackW

Новичок
в админке предусмотрена возможность добавления вопросов, проблема с добавлением вариантов ответов к этим вопросам.. в общем суть такая:

есть 3 таблицы:

PHP:
CREATE TABLE IF NOT EXISTS `tests` (
  `id_test` int(11) NOT NULL AUTO_INCREMENT,
  `test_name` varchar(255) NOT NULL,
  `test_time` int(11) NOT NULL,
  `test_date` date NOT NULL, 
  PRIMARY KEY (`id_test`)
)

CREATE TABLE IF NOT EXISTS `questions` (
  `id_question` int(11) NOT NULL AUTO_INCREMENT,
  `id_test` int(11) NOT NULL,
  `question_name` text NOT NULL,
  PRIMARY KEY (`id_question`)
)

CREATE TABLE IF NOT EXISTS `otvets` (
  `id_otvet` int(11) NOT NULL AUTO_INCREMENT,
  `id_question` int(11) NOT NULL,
  `otvet1` text,
  `otvet2` text,
  `otvet3` text,
  `otvet4` text,
  `correct_otvet` int(11) NOT NULL,
  PRIMARY KEY (`id_otvet`)
)
Форма добавления выглядит так:

PHP:
<label>Введите вопрос:</label><br />
<textarea name="question_name"></textarea>
   
    
    <table align="left" cellpadding="0">
    <tr align="left" valign="middle">
        <th width="79%"><label>Варианты ответа</label></td>
        <th width="15%"><label>Верный ответ</label></td>
    </tr>
    <tr>
        <td><input class="text" type="text" name="otvet1" /></td>
        <td><input type="radio" name="correct_otvet" /></td>
    </tr>
    <tr>
        <td><input class="text" type="text" name="otvet2" /></td>
        <td><input type="radio" name="correct_otvet" /></td>
    </tr>
    <tr>
        <td><input class="text" type="text" name="otvet3" /></td>
        <td><input type="radio" name="correct_otvet" /></td>
    </tr>
    <tr>
        <td><input class="text" type="text" name="otvet4" /></td>
        <td><input type="radio" name="correct_otvet" /></td>
    </tr>
    </table>
      
    <input type="submit" name="sub_add"  value="Добавить" />
вопрос в том, как сформировать запрос, чтобы при отправке формы, текст вопроса вставлялся в таб. questions, а ответы в таб. otvets и были связаны по id_question?

пробовал сделать так, не получается, да и выглядит не особо

PHP:
function addOtvet($id_test, $question_name, $otvet1, $otvet2, $otvet3, $otvet4, $correct_otvet)
{

    # вставляем вопрос
    $sql = "INSERT INTO questions (id_test, question_name) VALUE ($id_test, $question_name)";
    $query = $this->db->query($sql);

    # выбираем только что вставленный вопрос
    $sql_o = "SELECT id_question FROM questions WHERE question_name = $question_name LIMIT 1";
    $query_o = $this->db->query($sql_o);


    # вставляем ответы
    $sql = "INSERT INTO otvets (id_question, otvet1, otvet2, otvet3, otvet4, correct_otvet) 
               VALUE ($query_o['id_question'], $otvet1, $otvet2, $otvet3, $otvet4, $correct_otvet)";
    $query = $this->db->query($sql);

}
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
otvets, блииин, капец)

mysql_insert_id();
 
Сверху