Re: [請益] 報表小計的問題

看板PHP作者 (想.....似塵埃)時間16年前 (2009/08/26 14:42), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
如果只是要在畫面顯示報表(就像你附的圖片) 應該不需要將資料全部紀錄到陣列裡 (你全部記進去應該還要再跑一個for印出來吧!?) 直接一行一行印出就可以了 除非還需要做其他的判斷~不然全記進去陣列裡很佔資源 首先SQL要照車號 ORDER BY 排序 然後PHP判斷的時候,用一個值紀錄上一個處理的車號 比對上一個印出的車號與現在的不同,表示要顯示小計 (印第一筆資料的時候,上一筆車號紀錄為空值,但不能印出統計資料) $carNo=''; $i=0; while ($row = mysql_fetch_assoc($rs)) { if($carNo!=$row['td05']) //當車號改變後 { if($i!=0) { //若不是第一筆資料,印出上一個車號的小計 echo $totalml; //請自行加上排版與法 echo $totalmoney; echo $total_board_money; echo $total_howfar; } $carNo=$row['td05']; //指定為新的車號 $totalml=0; //統計清空 $totalmoney=0; $total_board_money=0; $total_howfar=0; } echo $row['td02']; echo $row['td03']; //略.... 太多行了 $totalml+=$row['td10']; //將金額累加進小計中 $totalmoney+=$row['td12']; $total_board_money+=$row['td18']; $total_howfar+=$row['td13']; $i++; } //while結束後 會發現最後一個車號沒印出小計 //所以以下補印最後一筆小計 echo $totalml; //請自行加上排版與法 echo $totalmoney; echo $total_board_money; echo $total_howfar; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.242.137

08/27 13:58, , 1F
感謝大大的說明 恩 很高明的作法
08/27 13:58, 1F
文章代碼(AID): #1AbDbRlk (PHP)
文章代碼(AID): #1AbDbRlk (PHP)