Вставка данных в одну таблицу с двумя разными таблицами - PullRequest
0 голосов
/ 26 августа 2018

Добрый день!Я делаю оценочный вопросник и пытаюсь вставить Question_ID и Rating_ID в таблицу question_rating, но Question_ID и Rating_ID взяты из разных таблиц:

Вот мойтаблица вопросов: question table

Вот моя рейтинговая таблица: rating table

Вот таблица, в которую я вставляю эти идентификаторы: question rating table

Вот моя анкета: questionniare form

Вот мой код формы:

<form method="POST">
                <table class="table table-bordered stick-top">
                    <thead class="text-center" id="data">
                        <tr>
                        <th></th>
                        <th>Questions</th>
                        <th id="try">Rating</th>
                    </tr>
                    </thead>
                    <tbody class="body_data">


                        <?php 
                            $queryQuestion = "SELECT * FROM question";
                            $resultQuestion = $conn -> query($queryQuestion);
                         ?>

                        <?php while ($row2 = $resultQuestion -> fetch_object()): ?>
                        <tr>
                            <td><?php echo $row2 -> Question_ID ?></td>
                            <td><?php echo $row2 -> Question_Description ?></td>
                            <td>
                            <?php
                            $q1 = "SELECT * FROM rating ORDER BY Rating_ID ASC";
                            $r1 = $conn -> query($q1);
                            while($row = $r1 -> fetch_object()){
                                echo "<input id='radio' type='radio' name='" . $row2 -> Question_ID . "' value='" . $row -> Rating_ID . "'>" . $row -> Rating_ID;
                            }
                             ?>
                            </td>
                        </tr>
                        <?php endwhile; ?>
                        <tr>
                            <td></td> <td><button type="submit" name="submit" class="btn btn-primary">Submit Evaluation</button></td>
                            <td></td>
                        </tr>
                    </tbody>
                </table>
                </form>

            </div>
        </div>

Вот мой код вставки:

  <?php 
        if (isset($_POST['submit'])) {

            $q3 = "insert into question_rating (null, question_id, rating_id)
    select null, a.question_id, b.rating_id
    from  question a 
    cross join rating b ";
            $conn -> query($q3);

        }

     ?>

Я все еще изучаю программирование на SQL.Может ли кто-нибудь пролить свет?

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Решил!

Вот мой код:

if (isset($_POST['submit'])) {
        $sql=mysqli_query($conn,"select * from question")or die ("erorr");
        while(list($Question_ID,$Question_Description)=mysqli_fetch_array($sql))
        {
            $evl_val=$_POST['radio'.$Question_ID];
            mysqli_query($conn,"INSERT INTO `question_rating`(`Question_Rating_ID`,`Question_ID`,`Rating_ID`) VALUES (null, '$Question_ID','$evl_val')") or die (mysqli_error($connection));
        }
    }   
0 голосов
/ 26 августа 2018

вы можете сделать с одним запросом, используя вставку select и select с перекрестным соединением

insert into  question_rating (question_id, question_rating_id)
select a.question_id, b.rating_id
from  question a 
cross join rating b 

, и если вы используете null, вам нужно 3 столбца для вставки и 3 столбца для выбора, например:

$q3 = "insert into question_rating (null, question_id, rating_id)
    select null, a.question_id, b.rating_id
    from  question a 
    cross join rating b 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...