私は初心者の PHP プログラマーで、「ネスト」のアイデアを理解するのに問題があります。次のコードを実行すると、テーブルの $query3 (FirstName、LastName など) からリストされた全員が表示されますが、2 番目と 3 番目の while ループ (それぞれ $query1 と $query2 を使用) を表示すると、それだけが実行されます。最初のレコード (リストされている最初の従業員) で、他のレコードではありません。ループのインスタンスごとに $employeeID 変数をリセットする必要がありますか、またはその方法は?
//pen some querying
$query1 = mysql_query("SELECT * FROM employees WHERE position='Supervisor' OR position='Area Manager' ORDER BY area, LastName, EmployeeNumber ");
$query2 = mysql_query("SELECT * FROM meetings WHERE meetingGroup='Management'");
//now write some wicked sick code that will change the world!
while($rows3 = mysql_fetch_array($query1)):
$firstname = $rows3['FirstName'];
$lasttname = $rows3['LastName'];
$area = $rows3['area'];
$employeeID = $rows3['EmployeeNumber'];
echo "<table border='1' align='center' width='75%'><tr><td width='25%'>$firstname $lasttname</td>";
while($rows1 = mysql_fetch_array($query2)):
$meetingID = $rows1['meetingID'];
$meetingName = $rows1['meetingName'];
echo "<td width='19%'>$meetingName</td>";
$query3 = mysql_query("SELECT * FROM meetingattendance WHERE employeeid='$employeeID' AND meetingid='$meetingID'");
while($rows2 = mysql_fetch_array($query3)):
$attendanceMark = $rows2['employeeattendance'];
if($attendanceMark = 1)
echo "<td><center><strong>X</strong></center></td>";
else
echo "No Record";
endwhile;
endwhile;
endwhile;
?>