私はここでPHPに関して大きな問題に直面しており、あなたの助けが必要です。私は別の方法でPHPで質問を作成しています。各質問には4つの選択肢があります。質問は質問と呼ばれるテーブルに挿入され、すべての選択肢は選択肢と呼ばれる別のテーブルに挿入されます。すべての質問には独自のIDがあり、すべての選択肢にも独自のIDがあります。しかし、選択肢のすべてのグループには質問IDもあり、どの選択肢がどの質問に属しているかを知ることができます。次に、それらをラジオボタンとして選択します。たとえば、次のような2つの質問がある場合
オーストラリアの首都の名前は何ですか?(この質問のIDが1であるとしましょう)
A)シドニー
B)ニューデリー
C)キャンベラ
D)マイミ
そして上記のすべての選択肢には独自のIDがあり、この場合の質問IDは1です。
89 +(3 * 9)とは何ですか(この質問のIDが3) A)116
B)117
C)115
D)112であるとしましょう
そして、上記のすべての選択肢には独自のIDがあり、この場合の質問IDは3です。
3.高さ100mの塔の頂上から物を落とします。t秒後の地上の高さは100-4.9t2mです。ドロップしてから2秒後に失敗する速度はどれくらいですか?
A)98m
B)78m
C)56m
D)どれも
.....
これが私のコードです:
if (isset($_REQUEST['submit']) && $_REQUEST['submit'] != "") {
$questions = $_POST['questions'];
$alternatives = $_POST['alternatives'];
if(isset($_POST['questions']) && $_POST['questions'] != '')
{
foreach($questions as $q) {
if($q !='') {
$sql1 = " INSERT INTO questions (question) ".
" VALUES ('".$q."'); ";
if (!db_query($sql1))
$errors['err']='Unable to create question';
$question_id[] = mysql_insert_id();
}
}
foreach($question_id AS $q_id) { // I think here is the problem but I don't know how to solv'
foreach($alternatives as $alt){
if($alt !=''){
$sql = " INSERT INTO alternatives (alternative, question_id) ".
" VALUES ('".$alt."', ".$q_id."); ";
if (!db_query($sql))
$errors['err']='Unable to create alternatives';
}
}
}
}
}
<form action="test.php" method="POST" enctype="multipart/form-data"><br /><br /><br />
for($i=1; $i<=10; ++$i){
$i.") "?><input type="text" name="questions[]" value="" size="100"/><br />
<br /><p>Alternatives:</p><br />
for($j=1; $j<=4; ++$j){
<input type="text" name="alternatives[]" value="" /><br /> } }
<input type="submit" name="submit" value="Send"></input>
<input class="button" type="reset" value="Reset" />
</form>
私のコードでごめんなさい..ここに書くのはとても難しかったです。しかし、何が起こっているのか:
12の選択肢すべてが3回挿入され、そのたびにすべて同じquestion_idが取得されます。つまり、最初の12個の選択肢はquestion_id 1を取得し、次にそれらの12個の選択肢が再度挿入されてquestion_id = 2を取得し、以下同様に続きます。最初の4つの選択肢はquestion_id 1を取得し、2番目の質問の選択肢はquestion_idnr2などがあります。どうやって解決したらいいのかわからない。