0

フォームで「入力タイプ」を組み合わせて使用​​して、データベースにデータを追加しようとしています。「type=text」および「text area」タグを介してデータベースに入力されたデータを取得できますが、「オプション 1」、「オプション 2」の「選択/ドロップダウン」タグを使用して「回答」を入力お​​よび入力することはできません。および「オプション 3」オプション。

アンケートの一部として 3 つのオプションを考えてみてください。3 つの選択肢を入力し、どちらが正しいかを選択します。

私は2つのphpファイルを提供しました。私の問題を理解していただき、できる限りのことをしていただけることを願っています。ありがとうございました。

ファイル 1: question_menu.php

    <form action="question-added.php" method="post">
    <table border="0" name"form_table">
      <tr>
        <td>Question ID</td>
        <td><input type="questionID" name="text" maxlength="30" size="30"></td>
      </tr>
      <tr>
        <td>Question Description</td>
        <td><textarea name="description" rows="4" cols="50"></textarea></td>
      </tr>
       <tr>
        <td>Option 1</td>
        <td><input type="text" name="option1" maxlength="30" size="30"></td>
      </tr>
      <tr>
        <td>Option 2</td>
        <td> <input type="text" name="option2" maxlength="30" size="30"></td>
      </tr>
      <tr>
        <td>Option 3</td>
        <td><input type="text" name="option3" maxlength="30" size="30"></td>
      </tr>
       <tr>
        <td>Answer</td>
        <td><select name="dropdown"> <option value='option1'>Option 1</option> <option value='option2'>Option 2</option> <option value='option3'>Option 3</option> </select></td>
      </tr>
       <tr>
        <td colspan="2"><p>
          <input type="submit" value="Add Question">
        </p></td>
      </tr>
    </table> 

</form>    

    <?php
$username = "root";
$password = "";
$hostname = "localhost";
$database = "basketball_database";
$table = "question_bank";

$con = mysql_connect($hostname, $username, $password)
 or die("Unable to connect to MYsql");
 //echo "Connected to mysql<br>";

 mysql_select_db("$database")
 or die("Could not select Basketball_database");
 //echo "Connected to database";

 //update when update button pressed
 if(isset($_POST['update'])){
     $UpdateQuery = "UPDATE $table SET question_description='$_POST[description]', option_a='$_POST[option1]', option_b='$_POST[option2]', option_c='$_POST[option3]', answer='$_POST[dropdown]', question_id='$_POST[questionID]'  WHERE question_id='$_POST[hidden]'";

     mysql_query($UpdateQuery, $con);

 };//end of if statement

  //delete when delete button pressed
 if(isset($_POST['delete'])){
     $DeleteQuery = "DELETE FROM $table WHERE question_id='$_POST[hidden]'";

     mysql_query($DeleteQuery, $con);

 };//end of if statement



$mysql = "SELECT * FROM $table";



 $mydata = mysql_query($mysql,$con);

 //create table
 echo "<table border=1
 <tr>
 <th>Question ID</th>
 <th>Question Description</th>
 <th>Option 1</th>
 <th>Option 2</th>
 <th>Option 3</th>
 <th>Answer</th>
 <th>Picture</th>
 <th>Video</th>
 </tr>";

 //insert data into rows
 while($records = mysql_fetch_array($mydata)){
     echo "<form action=question_menu.php method=post>";
     echo "<tr>";
     echo "<td>"."<input type=text name=questionid size=10 value=".$records['question_id']." </td>";
     echo "<td>"."<textarea name=description rows=2 cols=25>".$records['question_description']."</textarea>"."</td>";
     echo "<td>"."<input type=text name=option1 size=18 value=".$records['option_a']." </td>";
     echo "<td>"."<input type=text name=option2 size=15 value=".$records['option_b']." </td>";
     echo "<td>"."<input type=text name=option3 size= 15 value=".$records['option_c']." </td>";
     echo "<td>"."<input type=text name=answer size=15 value=".$records['answer']." </td>";

     echo "<td>"."<input type=hidden name=hidden value=".$records['question_id']." </td>";

     //update button
     echo "<td>"."<input type=submit name=update value=Update"." </td>";
     //delete button
      echo "<td>"."<input type=submit name=delete value=Delete"." </td>";


     echo "</tr>";  

     echo "</form>";//end form

 } echo "</table>";

ファイル 2 が呼び出されたとき。入力がデータベースに追加されなかったことを意味する「切断」が表示されます。

ファイル 2: question-added.php

    <?php
$username = "root";
$password = "";
$hostname = "localhost";
$database = "basketball_database";
$table = "question_bank";

mysql_connect($hostname, $username, $password)
 or die("Unable to connect to MYsql");
// echo "Connected to mysql<br>";

 mysql_select_db("$database")
 or die("Could not select Basketball_database");
 //echo "Connected to database";

 $mysql = "INSERT INTO $table(question_description, option_a, option_b, option_c, answer) VALUES('$_POST[description]','$_POST[option1]','$_POST[option2]','$_POST[option3]','$_POST[dropdown]')";

 if(!mysql_query($mysql))
 die("Disconnected");

 mysql_close();

?>

すぐに返事が来ることを願っています。

私はphpを使うのが初めてです。

かわった

mysql_connect($hostname, $username, $password)

$con = mysql_connect($hostname, $username, $password)

追加した後

echo mysql_errno($con) . ":" . mysql_error($con) . "\n";

私のコードと受け取った->

1062: キー 'user_id' のエントリ '0' が重複しています

4

0 に答える 0