Как вставить значения от PHP до MySQL БД, но я не хочу вставлять идентификатор одной таблицы, они должны быть связаны - PullRequest
0 голосов
/ 12 апреля 2020

Я медленно строю небольшую викторину, которая берет из пользовательского ввода тип викторины (есть 2 типа) и сохраняет вопрос, возможные ответы и правильный номер ответа в базе данных. Моя проблема в том, что моя вставка не работает, соединение есть.

Я пытаюсь вставить данные в вопросы таблицы (id, questionNr, question, answer1, answer2, answer3, answer4, answerOk, quizz_id). От пользователя я получаю все, кроме идентификатора и идентификатора quizz_id. Я считаю, что идентификатор каким-то образом генерируется автоматически, с каким-то фиктивным именем пользователя, и выбранным пользователем quizz_id, поэтому это должен быть внешний ключ из таблицы опросов (идентификатор, имя, тип). Может быть только 2 типа тестов, следовательно, только два идентификатора - но я должен подключиться к ним, когда я делаю вставку в таблицу вопросов.

Вот код со страницы, которая является ошибочной:

<?php require_once './database.php' ?>
    <html>
    <head>
        <link rel="stylesheet" type="text/css" href="css/main.css">
        <meta charset="UTF-8">
        <title>Tester</title>
    </head>
    <body>
    <div class="parent">

        <form action="schritt2_2.php" method="post">
            <label>Question</label>   <input type="text" name="question"><br>
            <label>Answer 1</label><input type="text" name="answer1"><br>
            <label>Answer 2</label><input type="text" name="answer2"><br>
            <label>Answer 3</label><input type="text" name="answer3"><br>
            <label>Answer 4</label><input type="text" name="answer4"><br>
            Richtige Antworte(en) <input type="checkbox" name="b" value="1">
            <input type="checkbox"  name="b" value="1">
            <input type="checkbox"  name="b" value="1">
            <input type="checkbox"  name="b" value="1"><br>
            <input type="submit" name="insert" value="save and next question"><br>
            <button type="button" onclick="window.location.href = 'endstepp.php';">Save and end quizz</button>

        </form>
    </div>


    </body>
    </html>

<?php
$fragNr=1;
$quizzid=1;
if(isset($_POST['insert'])){
    $question=$_POST['question'];
    $answ1=$_POST['answer1'];
    $answ2=$_POST['answer2'];
    $answ3=$_POST['answer3'];
    $answ4=$_POST['answer4']; //solve the ids by autoincrement and primary and secondary key//
    $ransw=$_POST['b'];
    $sql="insert into questions values('$fragNr','$question','$answ1','$answ2','$answ3','$answ4','$ransw',$quizzid)";
    if(!mysqli_query($con,$sql))
        echo "not inserted";
    else echo "all ok";
}

Как хранить эти данные с внешним и первичным ключами?

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