0

学生の部屋の割り当てを含むデータベース テーブルがあります。各学生には、特定のホール、フロア、およびアパートがあります。結果がフロア レイアウトのように見えるように、各生徒を特定のテーブルに表示する必要があります。以下は例です。学生証は、正しいアパートのスロットにある必要があります。アパートごとに複数の ID がある場合があります。現在、それらはページの下にリストされているだけです。

アパートメント 102 アパートメント 101

アパートメント 104 アパートメント 103

アパートメント 106 アパートメント 105

$query = "select res.ID_NUM as ID, res.APARTMENT
From Residents res
Where res.sess_cde = '$pulledsession'
and res.ROOM_ASSIGN_STS = 'A'
and res.BLDG_CDE = '$pulledhall'
and res.FLOOR = '$pulledfloor'";


$result = odbc_exec($connect, $query);


echo "<table style='padding:25;'>
<tr>
<th>Apartment</th>
<th>ID</th>
</tr>";
while(odbc_fetch_row($result)){ 
$ID = odbc_result($result,ID);
$APARTMENT = odbc_result($result,APARTMENT);

if ($APARTMENT == $pulledfloor.'01')
{  
echo "<tr   >";
echo "<td>" . $pulledfloor.'01' . "</td>";
echo "<td>" . $ID . "</td>";
echo "</tr>";
}
else if ($APARTMENT == $pulledfloor.'02')
{  
echo "<tr>";
echo "<td>" . $pulledfloor.'02' . "</td>";
echo "<td>" . $ID . "</td>";
echo "</tr>";
}
else if ($APARTMENT == $pulledfloor.'03')  
{ 
echo "<tr>";
echo "<td>" . $pulledfloor.'03' . "</td>";
echo "<td>" . $ID . "</td>";
echo "</tr>";
}
else if ($APARTMENT == $pulledfloor.'04')
{  
echo "<tr>";
echo "<td>" . $pulledfloor.'04' . "</td>";
echo "<td>" . $ID . "</td>";
echo "</tr>";
}
else if ($APARTMENT == $pulledfloor.'05')
{  
echo "<tr>";
echo "<td>" . $pulledfloor.'05' . "</td>";
echo "<td>" . $ID . "</td>";
echo "</tr>";
}
else if ($APARTMENT == $pulledfloor.'06')
{  
echo "<tr>";
echo "<td>" . $pulledfloor.'06' . "</td>";
echo "<td>" . $ID . "</td>";
echo "</tr>";
}
}
echo "</table>";
4

1 に答える 1

0

部屋番号も取得する必要があります。その後、それを行う 1 つの方法は、結果を関連する配列にロードすることです。

$rooms[$row['roomNumber']] = $resName; // Example

配列を構築したら、手動でテーブルにエコーバックできます(完全なテーブルを構築し、それぞれを次のコマンドでエコーします

echo "<tr><td>".$rooms['102']."</td><td>".$rooms['101']."</td></tr>";

または、ループ内の 2 つの部屋番号をインクリメントして動的に実行します。

部屋に複数の学生がいる場合は、配列をさらに深くします。

$rooms[$row['roomNumber']][] = $resName;

次に、各セルでループを使用してエコー バックします。

于 2013-07-18T13:35:15.093 に答える