データベースにラジオボタンの値を挿入するにはどうすればよいですか。また、どのテーブルレイアウトを使用する必要がありますか。

Niels040

質問リストがあり、回答を投稿できますが、データベースに配置する方法がわかりません。また、どのようなテーブルレイアウトを使用すべきかわかりません。

私はいくつかのことを試しましたが、複数の回答があるため、一度にすべてを挿入することはできません。すべての質問リストに他の質問リストほど多くの質問があるわけではないため、1000個の「回答」列を作成できないため、テーブルで1つの「回答」列を使用していました。

<form action="Antwoord.php" method="POST">
    <input type="text" name="Naam" placeholder="Uw naam:">
<?php
   $sql = "SELECT * FROM  questionlist_choice WHERE Qid='1'";
   $result = mysqli_query($conn, $sql);
  if ($result->num_rows > 0) {
    $i = 0;
  while ($row = mysqli_fetch_assoc($result)) {
$vraag = $row['Vraag'];
$vraagA = $row['Vraag_keuzeA'];
$vraagB = $row['Vraag_keuzeB'];
$vraagC = $row['Vraag_keuzeC'];
$vraagD = $row['Vraag_keuzeD'];
$vraagE = $row['Vraag_keuzeE'];
$vraagF = $row['Vraag_keuzeF'];
echo "<div>";
    echo "<br><p>$vraag</p>";
    echo "<input type='radio' name='q[$i]' value='$vraagA'> $vraagA<br>";
    echo "<input type='radio' name='q[$i]' value='$vraagB'> $vraagB<br>";
    echo "<input type='radio' name='q[$i]' value='$vraagC'> $vraagC<br>";
    echo "<input type='radio' name='q[$i]' value='$vraagD'> $vraagD<br>";
    echo "<input type='radio' name='q[$i]' value='$vraagE'> $vraagE<br>";
    echo "<input type='radio' name='q[$i]' value='$vraagF'> $vraagF<br>";

echo "</div>";
$i++;

?>
<input type="submit">
</form>
failedCoder

3つの異なるテーブルを作成します。

ユーザー、質問、および回答

構造:

 users:
     - id 
     - name
     - other data you store ...
 surveys:
     - id
     - name or whatever data you store about survey
 questions
     - id
     - survey_id
     - text (actual question)
     - ...
 answers
     - id
     - user_id
     - question_id
     - answer

すべての回答を1つの列に挿入する場合(これはお勧めしません)、回答シリアル化できます

また、異なるデータベース構造を使用する必要があります

answers:
    - id
    - user_id
    - survey_id
    - answers

$ iを1に変更して、質問IDが1で始まるようにします。

  $i = 1;
  while ($row = mysqli_fetch_assoc($result)) {
       // also change the name to just $i
       echo "<input type='radio' name='.$i.' value='$vraagA'> $vraagA<br>";

dbへの投稿:

// put all checkbox values in a single array
$answers = [];
for($i = 1; $i<= $numberOfAnswers; $i++) {
    $answers[$i] = $_POST[$i];
}
$answers = serialize($answers);

// do the insert query

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ