簡體   English   中英

PHP中的多維數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM