スタッフのメンバーが指定された科目領域内のクラスに資格 (読み取り: 指定されたマークシート) を割り当てることができるチェックボックスを使用して挿入ページを作成しています。そのために、ユーザー (読み取り: 学校) が購読しているかどうかを最初に確認します。購読する前に正しい資格に。
チェックボックス ページは、サブジェクト領域内のすべてのクラスと、そのサブジェクトで利用可能な資格の量に対応するチェックボックスの量を出力する WHILE ループから完全に構築されています。
while ($row = $classlistresult->fetch ())
{
printf ("<form method=\"post\"
action=\"%s?action=4&class=%d\">\n",
script_name (),
ASSIGN_QUALIFICATIONS,
$row['idClass'] );
print ("<tr>\n");
$url = sprintf ("%s?action=%d&idClass=%d",
script_name (),
CLASS_LIST,
$row["idClass"]);
display_cell ("td" , "<a href=\"$url\">" . $row["Class"] . " </a>", FALSE);
display_cell ("td", $row["Staff"]);
$idClass = $row["idClass"];
$idstaff = $row["idStaff"];
$_SESSION['Class'] = $idClass;
$qualname = "
SELECT `mldb`.`qualification`.`idQualification`, `mldb`.`qualification`.`Code`
FROM `mldb`.`qualification` ";
$qualresult = mysqli_query ($dbc, $qualname) ;
while ($row = mysqli_fetch_array($qualresult, MYSQLI_ASSOC))
{
$idqual = $row['idQualification'] ;
print ("<td><p><input type = 'checkbox'
name = 'addqual[]'
value = '$idqual'\n" ."</a>") ;
}
これで、すべて正常に動作します。正しいクラスと資格情報が解析されているかどうかを確認するためにエコー テストを実行すると、クラスと資格 ID の正しい配列が表示されます。
以下は、このエコー テストによって返されたクラス ID の一部です。
58339160 58339321 58339523 5833958 58339162 58339518 58339873 58339398 58339595 58339732 58339500 58339735 58339828 58339492 58339128 58339139 58339740 583395 58339719 58339493 5833918 58339695 5833932 58339879 58339839 58339788
ただし、チェックボックス ページの情報でデータベースを更新する新しい関数を起動すると、クラス ID と資格 ID の両方の変数が固定されていることに気づき、データを挿入しようとすると重複エラーが発生します。データベースに:
class ID: 58339160
qualification ID: 3 (The very first entries of both Class and Qualification)
私の質問は次のとおりです。配列として維持しながら、配列を新しい関数に渡すにはどうすればよいですか? どうもありがとう!