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

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

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

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

PHP
泛舟湖上清波郎朗 2022-07-29 16:55:40
我需要特定部門的每月出勤報告。在我的程序中,生成需要更多時間。如果超過 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請指導(dǎo)我該怎么做,以便我能夠快速獲得更多員工數(shù)據(jù)。我必須一次顯示 1000 名員工的記錄。
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個贊

您應(yīng)該加入這些表并對所有員工和一個月中的所有日期進(jìn)行一次查詢,而不是對每個員工和日期進(jìn)行單獨(dú)的查詢。


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)前日期中減去前一個日期。如果差值大于 1,$difference - 1 <td>A</td>則在行中插入列以顯示缺勤情況。

或查看從日期范圍生成天數(shù)。您可以使用其中一種技術(shù)來創(chuàng)建一個子查詢,以生成該月中的所有日期。左加入這個employee_attendance表,你會得到每一天的行,但a.Attendance如果NULL他們?nèi)毕脑挕?/p>


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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