編集:最初のSQLクエリを追加しました。
私のウェブサイトのセクションには2つのドロップダウンメニューがあります。両方のオプションはすべて、SQLクエリを使用して入力されます。ドロップダウン#1は、クラスセクションのリストです(たとえば、A1など)。教授がセクションを選択すると、Dropdown#2に学生ID(たとえば、1234567など)が入力されます。
学生情報は表1にあります。この情報の中には「professorName」列があります。学生をクラスセクションに関連付けるには、「professorName」列を表2にある同じ列と一致させる必要があります。これは、クラスセクションが表2にのみあるためです。
ここまではすべてうまくいきます。クエリの最後にORDERBYの学生IDを入力したからです。ただし、クラスセクションの2つは、2人の異なる教授に関連付けられています。この問題に対処するために、次のコードを使用して各教授の名前をループしました。
$from site = $_POST['section'];
$query = ("SELECT professorName FROM Table 2 WHERE classSection='$fromsite'");
$NumberofProfessorNames = $objMSSQL->getAffectedRows();
echo $NumberofProfessorNames;
for ($j=0; $j<$NumberofProfessorNames; $j++)
{
$section= $query[$j][professorName];
$output = $objMSSQL->getTable("SELECT DISTINCT StudentID from table1 WHERE professorName='$section' ORDER BY StudentID");
for ($i=0; $i<$objMSSQL->getAffectedRows(); $i++)
{
echo "<option value='".$output[$i][studentID]."'>".$output[$i][studentID]."</option>";
}
}
問題は、これが必要な2つのセクション(professorNamesが2つあるため)については、このようにループしているため、ドロップダウン#2で次のように順序付けられてしまうことです。
1234567
2345678
3456789
4567890
1234123
2345765
3456999
4567000
プログラミングの経験が限られているため、この一見単純な問題を修正する方法を理解できません。
ご協力ありがとうございました。