第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用php從具有多個表的mysql數(shù)據(jù)庫中檢索大量數(shù)據(jù)

如何使用php從具有多個表的mysql數(shù)據(jù)庫中檢索大量數(shù)據(jù)

PHP
偶然的你 2022-08-19 10:25:45
我需要特定部門的每月出勤報告。在我的過程中,它將需要更多的時間來生成。如果員工人數(shù)超過50人,則根本不會生成報告。我有兩個表,一個是員工表,另一個是出勤表。我正在生成這樣的報告。這是我的代碼。<div class="row">    <div class="col-md-12">           <table style="width:100%;" border="1">                                            <tr style="font-weight: bold; background-color: #D3D3D3; text-align: center;">                <td style="text-align: center;padding: 5px;">SLNo.                </td>                   <td>EMPID</td>                <td style="width:250px; text-align: center; padding-left: 5px; padding-right: 5px;">                    Employee&nbsp;Name                </td>                <?php                /* Default Date Indexing starts here. */                $timezone = "Asia/Calcutta";                date_default_timezone_set($timezone);                $timestamp = mktime(0,0,0,$Month,1,$Year);                $maxday = date("t",$timestamp);                //echo "<td></td>";                for ($k=1; $k<= $maxday; $k++) {                      $kv = sprintf('%02d', $k);                    echo "<td style=''>$kv</td>";                  }                /* Default Date Indexing ends here. */                ?>                <td>TOT.P</td>                <td>TOT.HLF</td>                <td>TOT.A</td>                <td>TOT.WO</td>                <td>TOT.HLD</td>            </tr>            <?php            //Getting all employee details according roster assign table.            $sqlRA = "SELECT * from employee_details where DivisionDbKey = '$DivisionDbKey' and Status='ACTIVE' ORDER BY EmployeeName ASC";            $resultRA = mysqli_query($conn, $sqlRA);            $i = 1;請指導(dǎo)我該怎么做,以便我能夠快速獲得更多的員工數(shù)據(jù)。我必須一次展示1000名員工的記錄。
查看完整描述

1 回答

?
慕的地10843

TA貢獻1785條經(jīng)驗 獲得超8個贊

您應(yīng)該聯(lián)接表并對所有員工和一個月中的所有天執(zhí)行單個查詢,而不是為每個員工和日期執(zhí)行單獨的查詢。


SELECT e.EmployeeId, e.EmployeeName, a.Date, a.Attendance

FROM employee_details AS e

JOIN employee_attendance AS a ON a.EmployeeDbKey = e.DbKey

WHERE e.DivisionDbKey = '$DivisionDbKey' and e.Status='ACTIVE'

AND a.Date BETWEEN '$Year-$Month-01' AND LAST_DAY('$Year-$Month-01') and a.Status='ACTIVE'

ORDER BY e.EmployeeName, a.Date

然后,當(dāng)您顯示表格時,請隨時更改時啟動一個新的表格。<tr>$row['EmployeeId']


此外,當(dāng)您為員工循環(huán)訪問當(dāng)月的日期時,請從當(dāng)前日期中減去上一個日期。如果差值大于 1,則在行中插入列以顯示缺失。$difference - 1<td>A</td>


或者,請參閱從日期范圍生成天數(shù)。可以使用這些技術(shù)之一創(chuàng)建生成月份中所有日期的子查詢。左邊用這個連接表,你會得到每天的行,但如果它們不存在,你會得到行。employee_attendancea.AttendanceNULL


查看完整回答
反對 回復(fù) 2022-08-19
  • 1 回答
  • 0 關(guān)注
  • 106 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號