[英]Multi dimensional array in PHP
我的出勤表中有如下值
sl_no 是外鍵引用 register_table( sl_no
)
register_table 包含有關學生的詳細信息,例如 student_name 等...
我的問題是,
如何使用多維數組以表格格式(如 Excel)獲取考勤報告
更新
我正在按如下方式查詢數據庫,但是我在多行中獲取相同學生的結果,無論他們出現在哪里,它都會創建新行,我希望通過使用以表格格式顯示相同學生姓名的不同日期標題二維數組。
$sql="SELECT att.present,att.AttDate,r.student_name,r.university,r.batch FROM register_table as r inner join attendance as att on r.sl_no=att.sl_no WHERE university LIKE '$sdluniversity'";
$result=mysqli_query($link, $sql);
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {
echo "<tr>";
echo "<td>".$row['student_name']."</td>";
echo "<td>".$row['present']."</td>";
echo "<td>".$row['AttDate']."</td>";
echo "<td>".$row['university']."</td>";
echo "<td>".$row['batch']."</td>";
echo "</tr>";
}
請建議我在上面的代碼中需要進行哪些更改,或者我的代碼完全錯誤以實現我的要求。
我希望輸出看起來像這樣:
Date1 Date1 Date3 University Batch Average
Student1 present present present Myuniversity 2012 100%
Student2 present Absent Absent Myuniversity 2013 33%
Student3 present present present Myuniversity 2012 100%
像 Excel 出勤報告一樣,因為我是新人 webie 任何幫助都將不勝感激。
在表上使用內部聯接作為
$sql='select att.present,r.university,r.name,r.rollNo from register as r inner join attendance as att on r.sl_no=att.sl_no';
$sql = mysqli_query($con, $query);
$attendence = array();
while ($data = mysqli_fetch_assoc($sql)){
if (!array_key_exists($data['userId'], $attendence))
$attendence[$data['userId']]['student'] = $data['userId'];
$attendence[$data['userId']][$data['date']] = $data['present'];
}
echo "<pre>";
var_dump($attendence);
迭代$attendence
數組的每個索引以形成一個表,索引為 userId,dates 你也可以計算他們的出勤率
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.