我有一個腳本,旨在打印已累計超過3個時間的學生的價值觀。我想這個腳本打印出兩個學生的名字,與時代他們一直遲遲量,但到目前爲止,我一直只能夠與下面的腳本打印出他們的名字:如何將SQL計數數據和數組數據一起發送?
$sql = "select DISTINCT StudentID,classid,date from attendance_main where status = 'Tardy' AND classid like '%ADV%'";
$result = mysql_query($sql) or die (mysql_error());
while($row=mysql_fetch_array($result)) {
$studentid = $row['StudentID'];
$sql2 = "select distinct StudentID,classid,date from attendance_main where StudentID = '$studentid' AND status = 'Tardy' AND classid like '%ADV%'";
$result2 = mysql_query($sql2) or die (mysql_error());
while($row2=mysql_fetch_array($result2)) {
$tardycount = mysql_num_rows($result2);
$studentid = $row2['StudentID'];
if($tardycount >= 3) {
$sql3 = "select * from students where rfid = '$studentid'";
$result3 = mysql_query($sql3) or die (mysql_error());
while($row3=mysql_fetch_array($result3)) {
$fname[] = $row3['fname'];
}
}
}
}
$newdata = array_unique($fname);
foreach ($newdata as $value) {
echo $value;
}
我想不到如何直觀地做到這一點。在while循環中保留所有內容不起作用(儘管請求唯一條目,我仍然爲同一個學生提供了多個結果),所以使用array_unique是我能想到的唯一方法。
感謝您的幫助!
請添加您的表格佈局。乍一看,如果你真的只想打印出學生的名字和他們遲到的次數,你的PHP腳本解決方案看起來太複雜了。如果這是它的原因,它應該很容易在一條SQL語句中實現,然後您可以使用PHP處理任何需求。 – Bjoern 2011-01-25 06:44:57