フォームで「入力タイプ」を組み合わせて使用して、データベースにデータを追加しようとしています。「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' が重複しています