私は3つのテーブルを持っています。tbl_info、tbl_trainings、および tbl_infotrainings で、tbl_infotrainings を使用して tbl_info と tbl_trainings を結合します。
tbl_trainings は複数のチェックボックス値を受け入れます。tbl_trainings には以下が含まれます。
+------+-----------+
| id | training |
+------+-----------+
tbl_infotrainings には以下が含まれます。
+------+-----------+---------------+
| id | info_id | training_id |
+------+-----------+---------------+
ここでの問題は、新しい情報を挿入するときです。これは私が使用したコードです:
tbl_infoのIDを挿入するため(正常に動作します)
$sql3 = "INSERT INTO tbl_infotrainings (info_id) (SELECT id FROM tbl_info)";
tbl_training の ID を挿入するため (エラーがあります)
$sql4 = "INSERT INTO tbl_infotrainings (training_id) (SELECT id FROM tbl_trainings)";
データベースでの望ましい出力は次のようになります。
+------+-----------+------------+
| id | info_id | training |
+------+-----------+------------+
| 1 | 1 | 1 |
+------+-----------+------------+
| 2 | 1 | 2 |
+------+-----------+------------+
| 3 | 1 | 3 |
+------+-----------+------------+
完全なコードは次のとおりです。
if($_POST["Submit"]=="Submit"){
$sql1="INSERT INTO tbl_info VALUES ('NULL', '$fname', '$mname', '$lname', '$street', '$barangay', '$city', '$number', '$month', '$day', '$year', '$status' , '$spouse', '$dependent')";
$result1=mysql_query($sql1);
$sql3 = "INSERT INTO tbl_infotrainings (info_id) (SELECT id FROM tbl_info)";
$result3=mysql_query($sql3);
$sql4 = "INSERT INTO tbl_infotrainings (training_id) (SELECT id FROM tbl_trainings)";
$result4=mysql_query($sql4);
for ($i=0; $i<sizeof($checkbox);$i++){
$sql2="INSERT INTO tbl_trainings VALUES ('NULL', '".$checkbox[$i]."')";
$result2=mysql_query($sql2);
}
}
前もって感謝します。