私は2つのテーブルを持っています:
次のフィールドを持つ「コース」:COURSE_ID(自動インクリメント)、開始日、終了日、タイトル
これらのフィールドを持つ「courses_students」:ID(自動インクリメント)、COURSE_ID、STUDENT_ID。
「courses」という別のテーブルから「courses_students」という mysql テーブルにいくつかの値を挿入したいと考えています。ユーザーは「コース」からのデータ (コース名、開始日、終了日) をページで見ることができ、「受講コース」ボタンをクリックして、参加したいコースを選択する必要があります。
誰かが送信ボタンをクリックするたびに、値がcourses_studentsテーブルに挿入されますが、正しくはありません.問題は、毎回「courses_students」のCOURSE_IDが「courses」の最後のCOURSE_IDの値を持っていることです.そして、他の奇妙な問題は値は毎回 2 回挿入されます。
これはコードです:
<?php
$link = mysql_connect('localhost','root','');
if(!$link){
die('Could not connect: '.mysql_error());
}
mysql_selectdb("db");
?>
<ul>
<?php
$sql = "SELECT * FROM courses";
$result = mysql_query($sql);
while($file = mysql_fetch_array($result)){
echo '<ul>';
echo '<li>';
$STUDENT_ID = $_SESSION['ID'];
$COURSE_ID = $file['COURSE_ID']; //**It dislays the CORRECT ID for each course!**
echo 'the course id: ' .$COURSE_ID;
echo 'course name: ' .$file['title'];
echo 'Starting: ' .$file['start_date'];
echo ' ending: '.$file['end_date'];
echo '<form action="lista_cursuri.php" method="post"> <input type="submit" name="submit" value="attent course!"> </form>';
echo '</li>';
}
?>
</ul>
<?php
if(isset($_POST['submit'])){
$sql1 = "INSERT INTO `courses_students` (COURSE_ID,STUDENT_ID) VALUES ($COURSE_ID,$STUDENT_ID)";
$result = mysql_query($sql1);
}
?>
どこに問題があるのかわかりません。おそらく、これは正しい手順ではありません。